基类私有成员基类公有成员派生类成员-Read.ppt
第11章继承和派生类 11.1 继承与派生 继承是软件重用的一种形式,它允许在已有类的基础上创建新的类。新类可以从一个或多个已有类中继承成员函数和数据,也可以加入新的成员数据和函数。 由已有的类产生新类的过程称作类的派生。已有的类称为基类或父类;派生出的新类称为派生类或子类。派生类自动获得基类的成员函数和数据的特性称为继承。 继承可形成一个层次结构,一个类可由其它类通过继承得到,又可作为基类再派生出新的子类。 单继承:只有一个基类的继承 多继承:有两个以上基类的继承 例:考虑某公司雇员信息的处理,设计雇员类Employee如下: class Employee{ char name[9]; //雇员姓名 Date birthday; //雇员生日 char dept[11]; //雇员工作部门 … //雇员的其它信息 }; 对于雇员中的经理,可定义类Manager: class Manager{ Employee emp; //雇员类的对象成员 int level; //经理级别 … //经理的其它信息 }; 这种描述方式并不能向编译器说明一个经理也是一个雇员。Manager类的对象不能与Employee类的对象同等地看待和使用。 表述Manager也是Employee的方法是: class Manager : public Employee{ int level; … //描述经理的其它信息 }; 11.1 继承与派生 派生类定义格式: class 派生类名:继承方式1基类名1, 继承方式2基类名2, ..., 继承方式n基类名n { 派生类新成员说明; }; 单一继承:只有一个基类名;多重继承:多个基类名 继承方式规定了基类成员在派生类中的访问控制方式 ,可为private, public, protected,缺省为private。 11.1 继承与派生 一个派生类的成员可分为两个部分:一部分是从基类继承得到的,构成派生类的基类部分;另一部分是派生类新定义的成员。无论使用何种继承方式,基类部分中的私有成员在派生类中是不能直接访问的,基类部分中的公有成员和保护成员在派生类中可被直接访问,但它们在派生类中的访问控制方式与派生类的继承方式有关。 11.2 访问控制 public派生:基类的公有成员如同是派生类的公有成员,即在派生类的外部也可访问基类的公有成员。基类中的私有成员仍是私有,即在基类外不能访问。 11.2 访问控制 private 派生:基类中的公有成员相当于派生类中的私有成员。即在派生类中可以访问基类的公有成员,而在派生类外,不能访问基类的公有成员。 11.2 访问控制 所有公有、私有派生:在派生类中可以访问和使用派生类中所有成员及基类中的公有成员。 11.2 访问控制 11.3 派生类的构造函数和析构函数 派生类继承了基类的全部数据成员,但是基类的构造函数和析构函数不能被继承,派生类也不能访问基类的私有数据。因此在建立派生类对象时,不仅要调用派生类自己的构造函数对新增数据成员初始化,还要调用基类的构造函数来初始化派生类对象的基类数据成员。 同样,派生类对象释放时,既需要调用派生类的析构函数处理新增数据成员,也需要调用基类的析构函数处理基类数据成员。 11.3 派生类的构造函数和析构函数 调用基类的构造函数的方式在定义派生类的构造函数时说明。 派生类的数据成员包括基类的数据成员与派生类新增的数据成员,新增成员中还可能包括成员对象。因此,产生派生类的对象时,必须对基类数据成员、新增数据成员和成员对象分别进行初始化。 11.3 派生类的构造函数和析构函数 派生类的构造函数的一般格式为: 派生类名::派生类名(总参数表) : 基类名1(实参表1), … , 基类名n(实参表n), 成员对象名1(实参表n+1), …, 成员对象名m(实参表n+m) { 派生类构造函数体 //派生类新增成员的初始化 } 11.3 派生类的构造函数和析构函数 基类成员和新增对象成员的初始化必须在成员初始化列表中进行,新增的其它数据成员的初始化可在成员初始化列表中进行,也可在构造函数体中进行。 当派生类有多个基类时,同一层次的基类其构造函数的调用顺序取决于定义派生类时说明的顺序(自左向右)。每个派生类只负责其直接基类的构造函数调用。 当派生类中有多个成员对象时,成员对象构造函数的调用顺序也取决于在派生类中定义的顺序(自上而下)。 派生类的构造函数负责对基类成员、成员对象及新增的数据成员初始化,它们的执行顺序如下: (1)调用基类构造
您可能关注的文档
- 国立彰化师范大学研究生联合自治会硕士服租借说明会一、硕士服租借.doc
- 国道外文专题特色数据库(SpecialSciDBS)讲座(主讲刘玉良).ppt
- 国道数据数据库超市及搜索系统(HDBSM).ppt
- 国际农产品价格波动对中国宏观经济的影响研究——基于CGE模型.doc
- 国际医学数据表.doc
- 国际商务导论课程教学.ppt
- 国际档案日.ppt-武汉理工大学档案馆.ppt
- 国际金融业务分行接受中华民国境外客户开户暨销售信托商品自律规范.doc
- 图1-32创建新工程对话框.ppt
- 图书馆及资讯学高级文凭课程(全日制)HigherDiplomaProgrammein.ppt
- 2026年长沙轨道交通职业学院单招职业技能考试题库及答案详解(典优).docx
- 2026年青海省海东地区单招职业倾向性考试题库有答案详解.docx
- 2026年陕西交通职业技术学院单招职业倾向性考试题库附答案详解(名师推荐).docx
- 2026年防城港职业技术学院单招职业适应性考试题库附答案详解(典型题).docx
- 2026年长沙轨道交通职业学院单招职业技能考试题库有答案详解.docx
- 2026年长江艺术工程职业学院单招职业适应性考试题库及答案详解一套.docx
- 2026年长沙卫生职业学院单招职业适应性考试题库及完整答案详解1套.docx
- 2026年长治职业技术学院单招职业技能考试题库完整参考答案详解.docx
- 2026年青海柴达木职业技术学院单招职业技能考试题库附答案详解(实用).docx
- 2026年雅安职业技术学院单招职业适应性考试题库参考答案详解.docx
最近下载
- 人美版美术一年级下册《第一单元 春天的故事》大单元教学设计2026.docx VIP
- 公转私借款合同范本.docx VIP
- IATF16949:2016中文版本含ISO9001全文依据2025年11月SI更新(包括SI1-30).pdf
- 4.成人斯蒂尔病诊疗指南2025版.pptx
- 第一单元《春天的故事》大单元(教学设计)人美版2025美术一年级下册.docx VIP
- ISO42001-2023人工智能管理体系程序文件.docx VIP
- 一种火炬排放系统密封器.pdf VIP
- 提高住院患者大小便标本送检率PDCA.pptx VIP
- DB61_T 2093.5-2025 猕猴桃生产第5部分:花粉生产.docx VIP
- 无锡市轨道交通工程临时用电监理实施细则.doc VIP
原创力文档

文档评论(0)