【C++打怪之路Lv13】- “继承“篇

🌈 个人主页:白子寰
🔥 分类专栏:重生之我在学Linux,C++打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~
💡 坚持创作博文(平均质量分82+),分享更多关于深度学习、C/C++,python领域的优质内容!(希望得到您的关注~)

目录

继承本质意义是复用

继承的概念及定义

概念

继承定义 

格式

继承基类成员访问方式的变化

表格法(谁小谁做主)

总结 

1)谁的权限小(派生类)听谁的 

2)

3)

4)实际中一般用public继承

代码

基类和派生类对象赋值(兼容)转换

概念

1、派生类对象可以赋值给基类对象 

2、基类对象不能赋值给派生类对象

原因

继承的作用域

规则

概念

1.隐藏/重定义

2.在实际中在继承体系里面最好不要定义同名的成员

派生类的默认成员函数 

1)派生类的构造函数

①派生类对象的初始化顺序

2)派生类的拷贝构造函数

3)派生类的赋值运算符

4)派生类的析构函数

①顺序

②析构函数重写

 继承与友元

 继承与静态成员

复杂的菱形继承及菱形虚拟继承 

继承与组合 

面试题

1、

2、

3、


继承本质意义是复用

继承的概念及定义

概念

什么是继承?

继承是面向对象程序设计中实现代码复用的关键机制,它允许程序员在保留基类特性的同时,创建具有额外功能的新类,即派生类。

这种机制展现了对象层次结构,并映射了从简单到复杂的认知发展过程。与传统的函数复用不同,继承实现了类级别的复用。
(简单来说就是儿子继承父业:儿子在父业的基础上开拓新的东西或装饰)


继承定义 

格式


继承基类成员访问方式的变化

表格法(谁小谁做主)

总结 

1)谁的权限小(派生类)听谁的 

照public列来说:

①对应行基类的public成员:public小,听public的,派生类是public

②对应行基类的protected成员:protected小,听protected的,派生类是protected

③对应行基类的private成员:private小,听private的,派生类不可见

2)

①被其所属类的成员函数访问
②被类的对象直接访问
③被派生类的(成员/函数)访问

在私有限定符下:①

保护限定符下:①③

3)

struct默认继承方式是public

class默认继承方式是private

4)实际中一般用public继承


代码

这是在父类的成员函数、成员变量处于public(公有)下

如果成员变量不是处于public下呢,我们该怎么修改对象的其中一个成员变量?

 答案是在公有public设置成员函数



基类和派生类对象赋值(兼容)转换

简称:切割/切片

概念

区别于:类型转换,中间会产生临时变量(隐式变量是常量加const)

(C语言的截断和提升:int型->(赋值)char, 然后char->int)

简单来说:

 派生类到基类的赋值兼容性允许派生类对象被赋值给基类对象,而无需显式类型转换。这种赋值过程不涉及临时变量。

与类型转换不同,派生类到基类的赋值是一种切片操作,仅保留基类部分。

1、派生类对象可以赋值给基类对象 


评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值