目录
- 八、继承与派生
- 8.1 派生类的引入与特性
- 8.2 单继承
- 8.3 同名成员的访问方式
- 8.4 赋值兼容规则
- 8.5 单继承的构造与析构
- 8.6 多继承
- 九、多态性
- 9.1 运算符重载
- 9.2 虚函数
- 9.3 纯虚函数与抽象类
八、继承与派生
8.1 派生类的引入与特性
-继承:一旦指定了某种事物父代的本质特征,那么它的
子代将会自动具有那些性质。这就是一种朴素的可重用的概念。
-派生:而且子代可以拥有父代没有的特性,这是可扩充
的概念。
8.2 单继承
回顾类成员的访问方式也有public、private、protected分别是什么意思?
和我们这里继承方式的public、private、protected有区别吗?
·类成员的
- public:类内外都可以访问,是类的对外接口
- private:类内可以访问,内外不能访问
- protected:同private,类内可以访问,内外不能访问
8.3 同名成员的访问方式
8.4 赋值兼容规则
简单总结为:
所有的狗都是动物。但不是所有的动物都是狗
——所有的子类对象都是基类的对象
8.5 单继承的构造与析构
8.6 多继承
在多继承中,一个类不可以重复成为另一个类的直接基类,但可以多次成为间接基类。此时派生类访问基类成员时可能出现二义性。
- 访问不同基类的具有相同名字成员时可能出现二义性。
- 访问共同基类的成员时可能出现二义性。
虚基类对象的初始化
虚基类构造函数的调用次序如下:
- 虚基类的构造函数在非虚基类之前调用。
- 若在同一层次中包含多个虚基类,那么虚基类构造
函数按它们说明的次序调用。 - 若虚基类由非虚基类派生,则遵守先调用基类构造
函数,再调用派生类构造函数的规则。
九、多态性
9.1 运算符重载
多态性的分类
1.编译时的多态
- 函数重载
- 运算符重载
2.运行时的多态
- 虚函数
9.2 虚函数
9.3 纯虚函数与抽象类
后面章节陆续更新,点赞越多更新越快,欢迎各位的关注~
专栏合集:
【C/C++】C语言程序设计基础知识(数据类型与表达式、控制语句、数组与结构)
【C/C++】C语言程序设计基础知识(指针、函数)
【C/C++】C++程序设计基础(输入输出、数据类型、动态内存、函数重载、内联函数、常量、引用)
声明:图片文字资料仅供学习参考使用,不另做他用,侵删