- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
子对象:类申明时包含另一个类对象作为数据成员 类的组合(composition):包含子对象的类申明。类似结构体的嵌套申明 类的组合和继承一样,都是有效地利用已有类的资源。但二者有着本质区别:继承是纵向(同一系族),组合是横向(不同系族) 7.3 继承与组合 monitor(n1,nam1)是student(n,nam)实例化 注意构造函数中6个形参顺序 问题:构造函数中基类与子对象构造顺序可以对换?为什么? 包含子对象派生类构造函数的一般形式为 派生类构造函数名(总参数表列): 基类构造函数名(参数表列),子对象名(参数表列) {派生类中新增数成员据成员初始化语句} 本讲重点分析 派生类的构造函数:基类构造函数、多级派生类的构造函数,虚基类的构造函数 多重派生时唯一标识问题:同名屏蔽、作用域分辨符、虚基类 类的组合、子对象概念 第7次作业 要求与前面同,在第10周末交 第1题:第1题:教材第11章后面习题中的第7题(P393) 第2题: 用户需求:公司在前期改革基础上继续深化,增加一个新岗位,即销售经理(Salemanager)1名,需从经理和销售人员中选拨。因此,该岗位具有经理和销售的共有特征。但月薪不同:既有固定月薪8000元,还从当月所管辖人员销售总额提成4%。 在第5次作业基础上,进行修改,实现上述功能,要求采用多次继承和虚基类方法实现。细节部分自由设计 选做题 在第6次作业中的选做题的基础上,补充各类(People、student、graduate、teacher和TA)的构造函数和析构函数。 (1)编程测试和分析这些构造函数和析构函数的执行顺序 (2)如果不采用虚基类,重新编程实现第5次作业要求。体会有什么差异? * 7.1 派生类的构造函数 7.2 多重继承 7.3 继承与组合 参考教材第11章内容 第7讲 继承与派生(下) 回顾类的构造函数 派生类的构造函数不能继承 其构造函数不仅要考虑所增加数据成员的初始化,还应当考虑基类的数据成员初始化 方法: 通过派生类的构造函数采用初始参数表来调用基类的构造函数,对基类数据成员初始化 执行顺序: ①先调用基类构造函数;②再执行派生类构造函数本身(即派生类构造函数的函数体) “先长后己”原则 在派生类对象释放时,先执行派生类析构函数~Student1( ),再执行其基类析构函数~Student( ) 7.1 派生类的构造函数和析构函数 基类函数调用 派生类构造函数首行一般格式 派生类构造函数名(总参数表列): 基类构造函数名(参数表列) {派生类中新增数据成员初始化语句} 问题 1.在类外如何定义构造函数? 2.在派生类的构造函数列表中,基类构造函数的参数为什么没有类型? 实参到形参传递 多层派生时的构造函数 基类可以派生出一个派生类,派生类还可以继续派生,形成派生的层次结构 多级派生情况下派生类的构造函数 基类和两个派生类的构造函数的写法: 基类的构造函数首部: Student(int n, string nam) 派生类Student1的构造函数首部: Student1(int n, string nam],int a):Student(n,nam) 派生类Student2的构造函数首部: Student2(int n, string nam,int a,int s):Student1(n,nam,a) 定义Student2类对象时执行其构造函数,顺序为: ①调用Student构造函数先初始化基类数据成员num和name ② 调用Student1构造函数再初始化Student1的数据成员age ③ 最后初始化Student2的数据成员score 多层派生构造函数一般形式: 构造函数(参数总表):直接基类构造函数 (1) 当不需要对派生类新增的成员进行任何初始化操作时,派生类构造函数的函数体可以为空,即构造函数是空函数 派生类构造函数的特殊情况 空函数 派生类的析构函数 派生类是不能继承基类的析构函数,也需要通过派生类的析构函数去调用基类的析构函数 在派生类中可以根据需要定义自己的析构函数,用来对派生类中所增加的成员进行清理工作 基类的清理工作仍然由基类的析构函数负责 在执行派生类的析构函数时,调用的顺序与构造函数正好相反:先执行派生类自己的析构函数,对派生类新增加的成员进行清理,然后调用基类的析构函数,对基类进行清理 多重继承(multiple inheritance):: 一个派生类有两个或多个基类,派生类从两个或多个基类中继承所需的属性。 一般格式:如果已声明了类A、类B和类C,可以声明多重继承的派生类D: class D:public A, private B,protec
您可能关注的文档
- 华南师范大学《电磁学与光学》第5章场论和路论的关系.ppt
- 华南师范大学《电磁学与光学》第6章平面电磁波.ppt
- 华南师范大学《电磁学与光学》第7章规则波导和空腔谐振器.ppt
- 华南师范大学《电磁学与光学》第4章静态场分析.ppt
- 华南师范大学《电磁学与光学》第8章电磁波的辐射.ppt
- 华南师范大学《电磁学与光学》电磁波复习课件.ppt
- 华南师范大学《电磁学与光学》电磁场与电磁波必考重点填空题经典.doc
- 华南师范大学《电磁学与光学》电磁场与电磁波简答题归纳.doc
- 华南师范大学《电磁学与光学》电磁场与电磁波复习课件.ppt
- 华南师范大学《电磁学与光学》电磁场与电磁波期末复习题库.doc
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)