继承中构造与析构_第1页
继承中构造与析构_第2页
继承中构造与析构_第3页
继承中构造与析构_第4页
继承中构造与析构_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第16课

继承的构造与析构赋值兼容性原则子类对象可以当作父类对象使用子类对象可以直接赋值给父类对象子类对象可以直接初始化父类对象父类指针可以直接指向子类对象父类引用可以直接引用子类对象赋值兼容性原则example16-1.cpp子类是就是特殊的父类!!!继承对象模型类在C++编译器的内部可以理解为结构体子类是由父类成员叠加子类新成员得到的Parentchar*name;Childinti;继承与构造问题如何初始化父类成员?父类与子类的构造函数有什么关系?继承与构造在子类对象构造的时候需要调用父类构造函数对其继承得来的成员进行初始化由Parent的构造函数初始化char*name;Childinti;由Child的构造函数初始化继承与析构在子类对象析构的时候需要调用父类析构函数对其继承得来的成员进行清理由Parent的析构函数清理char*name;Childinti;由Child的析构函数清理继承的构造与析构example16-2.cpp继承与构造和析构子类对象在创建时会首先调用父类的构造函数父类构造函数执行结束后,执行子类的构造函数当父类的构造函数有参数时,需要在子类的初始化列表中显示调用析构函数调用的先后顺序与构造函数相反继承的构造与析构example16-3.cpp继承与组合的混搭类中的成员变量可以是其它类的对象。问题如果一个类继承自父类并且有其它的对象作为成员,那么构造函数如何调用?口诀:先父母,后客人,再自己。继承与组合的混搭example16-4.cpp同名成员变量思考当子类中定义的成员变量与父类中的成员变量同名时会发生什么?Parentchar*name;inti;Childinti;同名成员变量当子类成员变量与父类成员变量同名时子类依然从父类继承同名成员在子类中通过作用域分别符::进行同名成员区分同名成员存储在内存中的不同位置同名成员变量example16-5.cpp小结子类对象可以当作父类对象使用子类对象在创建时需要调用父类构造函数进行初始化子类对象在销毁时需要调用父类析构函数进行清理先执行父类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论