- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2G —— 《手持移动设备嵌入式C++开发》实验手册
2G —— 《手持移动设备嵌入式C++开发》实验手册
第一阶段 C++中类的实现
第一阶段 C++中类的实现
第四章 继承性和派生类
【实验目标】
完成本章的内容以后,您将达到:
使用继承
使用继承中的构造函数和析构函数
使用多继承
本章实验给出了全面的操作步骤,请学生按照给出的步骤独立完成实验,以达到要求的实验目标。
第一阶段——指导学习(60分钟)
继承
使用继承,我们能够在类之间重用函数。基类成员的可访问性根据它们是私有的、公有的还是保护成员而不同。派生类在成员只能访问基类的公有和保护成员。
当一个派生类生自多个基类时,就发生了多重继承。当基类有同名的成员函数时,我们需要使用作用域解析操作符来引用正确的类。
在下面所示的程序中,我们将使用两个基类,并从这两个基类公有派生一个类。该程序将从用户获得有关学生个人情况和成绩的信息并显示这些信息。
声明基类
class Teacher//声明类Teacher(教师)
{
public://公有部分
Teacher(string nam , int a, string t);//构造函数
void display();//输出教师有关数据
protected://保护部分
string name;
int age;
string title;//职称
};
class Student//定义类Student(学生)
{
public:
Student(char nam[],char s,float sco);//构造函数
void display();//输出学生有关数据
protected:
char name1[20];
char sex;
float score;//成绩
};
声明派生类
声明派生类需要指定每个基类的访问说明符。
class Graduate:public Teacher,public Student//声明多重继承的派生类Graduate
{
public:
Graduate(string nam, char nam1[],int a, char s, string t, float sco, float w):
Teacher(nam, a, t),Student(nam1, s, sco),wage(w) {}
void show()//输出研究生的有关数据
{
cout name: name endl;
cout age: age endl;
cout sex: sex endl;
cout score: score endl;
cout title: title endl;
cout wages: wage endl;
}
private:
float wage;//工资
};
定义类的成员函数:
Teacher::Teacher(string nam , int a, string t)//构造函数
{
name = nam;
age = a;
title = t;
}
void Teacher::display()
{
cout name: name endl;
cout age: age endl;
cout title: title endl;
}
Student::Student(char nam[],char s,float sco)//构造函数
{
strcpy(name1,nam);
sex = s;
score = sco;
}
void Student::display()
{
cout name: name1 endl;
cout sex: sex endl;
cout score: score endl;
}
下面我们来看完整的程序。
#include iostream
#include string
using namespace std;
class Teacher//声明类Teacher(教师)
{
public://公有部分
Teacher(string nam , int a, string t);//构造函数
void display();//输出教师有关数据
protected://保护部分
string name;
int age;
string title;//职称
};
class Student//定义类Student(学生)
{
public:
Student(char nam[],ch
您可能关注的文档
- 高山流水视听间为李斌权先生音乐书法感动.pdf
- 2016年北京航空航天大学翻硕百科知识资料考研真题,重点解析.pdf
- 不利审计意见改善与自愿性审计师变更19972003年间趋势描述及其含义.pdf
- 不服执行异议裁定时诉讼权利均衡.pdf
- CpGDNA对金黄色葡萄球菌诱导乳腺炎大鼠保护研究.pdf
- 云南2011届高三物理一轮复习试题运动合成与分解.pdf
- 非专利引文衍生科学期刊共被引网络分析.pdf
- 情状体和语篇结构对英语过渡语中一般过去时标记影响.pdf
- 22 心正笔正柳公权每课一练.ppt
- 51单片机学习09存储扩展21.ppt
- 2025年环保纸包装产品在化妆品包装领域的市场前景分析.docx
- 直播带货2025年运营策略布局与用户流量转化效果分析.docx
- 微度假行业2025市场前景分析报告:产品创新与竞争策略解读.docx
- 新能源汽车分时租赁运营困境解析:2025年创新策略研究报告.docx
- 家具制造业个性化定制生产模式下的品牌建设与营销策略研究报告.docx
- 2025年乡村文化旅游融合发展中的旅游与乡村振兴旅游与乡村振兴旅游体验提升报告.docx
- 2025年企业敏捷开发与部署创新案例:云原生技术引领行业变革.docx
- 2025年海上风力发电场运维管理运维团队团队文化建设与创新报告.docx
- 2025年在线游戏行业未成年人保护与市场趋势研究报告.docx
- 装备制造业2025年自主创新能力提升的产业技术创新体系构建与优化报告.docx
文档评论(0)