- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
国家级精品课程网站(本书配套教学网站) 第11章 继承和派生 11.1 有关继承的基本概念 11.2 派生类 11.3 派生类的继承方式和访问属性 11.4 派生类的构造函数和析构函数 11.1 有关继承的基本概念 从一个或多个以前定义的类(基类)产生新类的过程称为派生,这个新类又称为派生类。 类的继承(inheritance)是指新类从基类那里得到基类的特征,也就是继承基类的数据和函数。 派生的新类同时也可以增加或重新定义数据和操作,这就产生了类的层次性。 派生就是创建一个具有别的类的属性和行为的新类的能力。派生和继承的概念也来自于人们认识客观世界的过程。 当从现存类中派生出新类时,可以对派生类做如下几种变化: ① 可以增加新的数据成员; ② 可以增加新的成员函数; ③ 可以重新定义已有的成员函数; ④ 可以改变现有成员的属性。 9.2 派生类 一、派生类的定义格式 class 派生类名:访问权限 基类名1,访问限定符 基类名2,……,访问限定符 基类名n { private: 成员表1; //派生类增加或替代的私有成员 public: 成员表2; //派生类增加或替代的公有成员 protected: 成员表3; //派生类增加或替代的保护成员 }; 二、派生类的构成 1、从基类接收的成员 2、派生类对基类的扩充 3、派生类对基类成员的改造 11.3 派生类的继承方式 一、公有继承(public) 继承特点: 1、基类公有成员相当于派生类中的公有成员 2、基类保护成员相当于派生类中的保护成员 3、基类私有成员在派生类中无法直接访问 实例:公有继承(public) class Person //人员类定义 {protected: char Name[10];//姓名 int Age;//年龄 char Sex;//性别 public: void Register(char *name, int age, char sex) ; void ShowMe(); }; class Employee: public Person //雇员类定义 { char Dept[20]; //工作部门 float Salary; //月薪 public: Employee() ; void EmployeeRegister(char *name, int age, char sex, char *dept, float salary); void ShowEmp(); //显示雇员信息 }; 例11-1 演示公有继承中派生类对基类成员的访问 #includeiostream #includecstring using namespace std; class Person { char Name[20]; char Sex; int Age; public: void Register(char *name, int age, char sex) { strcpy(Name, name); Age = age; Sex = (sex == m?m:f); } void ShowMe() {cout Name \t Age \t Sex endl;} }; class Student : public Person //公有继承 { int Number; char ClassName[10]; public: void RegisterStu(char *classname, int number, char *name, int age, char sex) { strcpy(ClassName, classname); Number = number; Register(name, age, sex); //派生类成员函数直接使用基类的公有成员 } void ShowStu() { cout Number \t ClassName \t; ShowMe(); //直接使用基类的公有成员 } }; int main() { Student stu; stu.RegisterStu(计算机51张弓长,18,m); stu.ShowStu(); stu.ShowMe(); //派生类对象直接使用基类的公有成员 return 0; } 二、私有继承(public) 继承特点 : 基类的公有成员和保护成员都相当于派生类的私有成员 对于基类的私有成员,无论派生类内部成员或派生类使用者都无法直接访问 三、保护继承(public) 保护继承方式
您可能关注的文档
最近下载
- 智慧城市云计算大数据中心项目深化设计方案(403页word).docx VIP
- 全国高中青年数学教师优质课大赛一等奖《基本不等式》教学设计.doc VIP
- 中华民族共同体概论第一讲 中华民族共同体基础理论part1.pptx VIP
- 儿童绘本改编与创作教案.pdf VIP
- JGJ-T291-2012:现浇塑性混凝土防渗芯墙施工技术规程.pdf VIP
- 实施指南《GB_T18944.2-2022柔性多孔聚合物材料海绵和发泡橡胶制品规范第2部分:模制品与挤出制品》实施指南.docx VIP
- 2022新能源风电场接入集控中心技术方案.doc VIP
- 白头翁的故事培智.ppt VIP
- 应聘人员登记表单.docx VIP
- 5S_培训教材.ppt VIP
文档评论(0)