ylww

随笔仅作学习记录,请辩证参考!!!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  166 随笔 :: 0 文章 :: 0 评论 :: 11673 阅读

不同的类中有大量重复的代码和实现,为了优化引入继承和派生。

继承和派生,本质是相同的,只是从不同的角度来描述。

父亲“派生”出儿子, 儿子“继承”自父亲。

 除了“构造函数”和“析构函数”,父类的所有成员函数,以及数据成员,都会被子类继承!(笼统说法,细节请翻看c++primer)

 

 

继承方式是有多种:先以公有继承为例

这时,从父类继承的description()方法不适用于子类,需要子类自己写一个description()方法,此方法(子类的方法)中不能访问从父类中继承来的私有数据成员(可以访问自己的私有数据成员),

但可以访问从父类中继承来的公有功能函数。 

 子类对象调用方法时,先在自己定义的方法中去寻找,如果有,就调用自己的方法。如果找不到,就到父类的方法中去找,如果有,就调用父类的这个同名方法。若都找不到,就发生错误了。

 

 

子类对象的内存分布

 重新生成即可观察内存分布:

 

 

 

protected访问权限

最后一行:子类的成员函数中不可以访问。

 

 

 

继承方式:

 

 

 

什么时候使用继承和派生

 

 

子类对父类的成员的访问权限

 

 

 

子类的构造函数

运行结果:

重测:                                                                                                     

运行结果:

 

 

 

子类的析构函数

 

以上为例:在类中写上析构函数

 

运行:

posted on   理想主义者光芒万丈  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示