- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
906基础会计(本)--学案
第8章 继承与派生 第8章 继承与派生 8.1 继承与派生 8.1.1 继承的概念 8.1.2 派生类实现 8.1.2 派生类实现 8.1.2 派生类实现 8.1.2 派生类实现 8.1.3 继承与组合 8.2 继承的方式 8.2.1 公有继承 8.2.1 公有继承 8.2.1 公有继承 8.2.1 公有继承 8.2.2 私有继承 8.2.2 私有继承 8.2.2 私有继承 8.2.3 保护继承 8.2.3 保护继承 8.2.3 保护继承 8.2.3 保护继承 8.2.3 保护继承 8.2.3 保护继承 8.3 派生类的构造与析构 8.3 派生类的构造与析构 8.3 派生类的构造与析构 8.3 派生类的构造与析构 8.4 类型兼容 8.4 类型兼容 8.4 类型兼容 8.5 多继承 8.5.2 二义性问题 8.5.2 二义性问题 8.6 虚基类 8.6 虚基类 8.6 虚基类 8.6.1 虚基类的定义 8.6.1 虚基类的定义 8.6.2 虚基类的构造与析构 8.6.2 虚基类的构造与析构 8.6.2 虚基类的构造与析构 8.6.2 虚基类的构造与析构 8.6.2 虚基类的构造与析构 8.7 本章小结 C++语言程序设计教程 第8章 继承与派生 一般来说,在派生类中对于基类成员的访问应该是唯一的,但是,由于多继承中派生类拥有多个基类,如果多个基类中拥有同名的成员,那么,派生类在继承各个基类的成员之后,当我们调用该派生类成员时,由于该成员标识符不唯一,出现二义性,编译器无法确定到底应该选择派生类中的哪一个成员,这种由于多继承而引起的对类的某个成员访问出现不唯一的情况就称为二义性问题。 【例8-5】多继承的二义性。 例如:我们可以定义一个小客车类car和一个小货车类Wagon,它们共同派生出一个客货两用车类StationWagon。StationWagon继承了小客车的特征,有座位seat,可以载客;又继承了小货车的特征,有装载车厢load, 可以载货。程序实现如下: class Car //小客车类 private: int power; //动力 int seat; //座位 public: Car int power,int seat this- power power,this- seat seat; void show cout car power: power seat: seat endl; ; 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 C++语言程序设计教程 第8章 继承与派生 class Wagon //小货车类 private: int power; //动力 int load; //装载量 public: Wagon int power,int load this- power power,this- load load; void show cout wagon power: power load: load endl; ; class StationWagon :public Car, public Wagon //客货两用车类 public: StationWagon int power, int seat,int load : Wagon power,load , Car power,seat void ShowSW cout StationWagon: endl; Car::show ; Wagon::show ; ; int main StationWagon SW 105,3,8 ; //SW.show ; //错误,出现二义性 SW.ShowSW ; return 0; 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 运行结果 StationWagon:car power:105 seat:3wagon power:105 load:8 小客车类Car和小货车类Wagon共同派生出客货两用车类StationWagon,后者继承了前者的属性power和行为show 。 当通过StationWagon类的对象SW访问show 时,程序出现编译错误。这是因为基类Car和Wagon各有一个成员函数show ,在其共同的派生类StationWagon中就有两个相同的成员函数,而程序在调用时无法决定到底应该选择哪一个成员函数。 C++语言程序设计教程
您可能关注的文档
最近下载
- T∕CHCA 002-2024 热喷涂稀土合金复合涂层钢筋.pdf
- 建设工程工程量清单计价规范.docx VIP
- 第39讲建筑工程费用定额的适用范围及应用一bak.pdf VIP
- B3201_T 1211-2024 既有公共建筑能效提升节能量核定技术规程.pdf VIP
- 安全仪表系统检验测试计划.docx VIP
- 2025年义务教育2022年版《道德与法治课程标准》真题试卷附参考答案.docx VIP
- 智能安防巡逻机器人解决方案.doc VIP
- 常州站车站行车工作细则.pdf VIP
- 专用设备的操作手册编写与用户培训考核试卷.docx VIP
- 工程造价咨询服务方案 第二章 工作流程及进度控制方案.docx VIP
文档评论(0)