- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(续) * 8.1 继承与派生 8.2 类的继承方式 8.2.1 公有派生 8.2.2 私有派生 82.3 保护派生 8.3 派生类的构造函数与析构函数 8.3.1 派生类的构造函数 8.3.2 派生类的析构函数 8.4 多继承 8.5 多继承中的二义性问题 8.6 虚基类 第8讲 继承与派生 可以把继承过程看成是从一个类派生出一个新类的过程。派生出来的新类称为派生类或子类;而被继承的类称作基类或父类。 一个基类可以派生出多个派生类,一个派生类也可以由多个基类派生而来。称从一个基类派生出一个派生类的过程为单继承;从多个基类派生出一个派生类的过程为多继承。 8.1 继承与派生 继承是面向对象程序设计支持代码重用的重要机制。通过继承,可以在原有类的基础上派生出新类,新类将共享原有类的属性,并且还可以添加新的特性。 8.1.1 概述 图1 单继承与多继承 b) 多继承的派生类与基类的关系 输入设备类 输出设备类 硬盘类 基类 派生类 a) 单继承的派生类与基类的关系 台式机类 便携式类 计算机类 派生类 基类 8.1.2 派生类的生成 面向对象的继承与派生机制,最主要的目的是实现代码的 重用和扩充。 由基类派生新类的过程需要经历三个步骤: (1)吸收基类成员; (2)改造基类成员; (3)添加新成员。 吸收基类成员 全盘接收基类成员,但构造函数和析构函数除外 改造基类成员 基类依靠继承方式改变成员的访问权限; 同名覆盖(派生类成员覆盖基类成员); 添加新成员 派生类添加新成员,使其功能扩展 通过单继承派生一个类,一般形式如下: class 派生类名:继承方式 基类名 { 声明派生类新成员 }; 继承方式用的关键字 public:表示公有继承 private:表示私有继承 protected:表示保护继承 是单继承派生出来的类的名称。 用关键字public 、private或 protected指定,如果省略,系统将默认为私有派生。 指明了派生类的基类,这个基类必须在声明派生类之前已经声明,否则,会导致编译错误。 8.2 单继承 当采用公有继承时,基类中的公有(public)成员和保护(protected)成员的访问权限在派生类中保持不变,而基类的私有(private)成员无论是在派生类中,还是在类外都不可直接访问。 基类的公有成员和保护成员被派生类继承过来,作为派生类的公有成员和保护成员。 简述 8.2.1 公有继承 在公有继承时,基类和派生类中的公有成员都可以直接通过派生类的对象名来访问。 在派生类中可直接访问从基类继承来的保护成员x;但是 基类的私有成员y,只能通过接口函数访问。 注意 class B:public A //派生类定义 { public: int getsum(){ return x+gety();} }; int main() { B b; b.setx(2); b.sety(3); coutX=b.getx() \tY=b.gety()endl; coutX+Y=b.getsum(); } 案例5.1 公有继承 class A //基类定义 { public: void setx(int a){x=a;} void sety(int b){y=b;} int getx() const{return x;} int gety() const{return y;} protected: int x; //保护成员 private: int y; //私有成员 }; 程序执行结果: X=2 Y=3 X+Y=5 当采用私有继承时,基类的私有成员(private)与公有派生时相同,无论是在派生类中,还是类外都是不可访问的。但基类中的公有(public)成员和保护(protected)成员的访问权限在派生类中则变为私有,派生类把它们作为私有成员来访问。 基类的公有成员和保护成员被派生类继承过来,作为派生类的私有成员;而基类的私有成员在派生类中不能直接使用。 简述 8.2.2
您可能关注的文档
- 城市轨道交通运用与管理 教学课件 作者 阳东 项目六 电客车驾驶员乘务作业(改).ppt
- 操作系统( 第三版) 高职计算机应用技术专业 吉书朋 第7章 Linux操作系统基础.ppt
- 常用工具软件 项目教学 教学课件 郑平 袁云华 项目四 图形图像工具.ppt
- 仓储设备使用与维护 教学课件 作者 陈建平 项目二.ppt
- 常用工具软件 项目教学 教学课件 郑平 袁云华 项目五 文件文档工具.ppt
- 城市轨道交通运用与管理 教学课件 作者 阳东 项目七 电客车调车作业(改).ppt
- 操作系统( 第三版) 高职计算机应用技术专业 吉书朋 第8章 操作系统课程设计.ppt
- 仓储设备使用与维护 教学课件 作者 陈建平 项目九 认识堆垛设备.ppt
- 城市轨道交通运用与管理 教学课件 作者 阳东 项目三 城市轨道交通行车组织(改).ppt
- 城市轨道交通运用与管理 教学课件 作者 阳东 项目四 城市轨道交通车辆通信信息系统的操作(改).ppt
- 2025至2030动物用清洗剂行业市场发展现状及发展前景与投资机会报告.docx
- 2024年助悬剂项目可行性研究报告.docx
- 2025至2030动力转向泵行业市场发展分析及投资前景报告.docx
- 银行理财市场卡片.pdf
- 2025至2030动力转向泵行业市场深度研究及发展前景投资可行性分析报告.docx
- 人教版九年级上册18课范进中举公开课获奖课件百校联赛一等奖课件.pptx
- 初中校园植物科普活动对学生科学素养提升的作用教学研究课题报告.docx
- 2025至2030动态圆锥贯入仪(DCP)行业项目调研及市场前景预测评估报告.docx
- 青岛版相关链接连乘连除乘除混合公开课获奖课件省赛课一等奖课件.pptx
- 四川省盐亭县城关初级中学八年级历史下册《第19课-百花争艳的文艺园地》-川教版公开课获奖课件百校联赛.pptx
最近下载
- VEICHI伟创 AC310系列变频调速器使用手册2021.06.pdf VIP
- 隧道施工课件.ppt VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-下(判断题汇总).docx VIP
- DB 6108T 53-2023 煤基固废调理剂修复沙化土地技术规范.docx VIP
- DB6108_T 52-2023 煤基固废调理剂修复盐碱地技术规范.docx VIP
- 行政人事部年终工作总结.pdf VIP
- 行政人事部年终工作总结.pptx VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-中(多选题汇总).docx VIP
- 化工厂物资明细表.xls VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛试题库(浓缩500题).docx VIP
文档评论(0)