- 9.1 继承
- 9.2 重载运算符和重载函数
- 9.3 多态
- 9.4 抽象类和数据抽象
- 9.1.1.1 类的继承,继承允许依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易,达到了重用代码功能和提高执行效率的效果。
- 9.1.1.2 继承后可访问性,继承后的可访问性是指派生类(子类)对基类(父类)成员的访问权限(public,protected,private)。
- 9.1.1.3 构造函数访问顺序,构造函数的调用顺序是从最基类开始,逐级向下,直到最终派生类。
- 9.1.1.4 子类隐藏父类的成员函数,子类可以通过定义与父类同名的成员函数来隐藏父类的成员函数。
- 9.1.2.1 多重继承定义,多继承即一个子类可以有多个父类,它继承了多个父类的特性。
- 9.1.2.2 多重继承二义性,多重继承中,当派生类从多个基类中继承相同的成员函数或成员变量时,可能会导致二义性问题。编译器无法确定应该使用哪个基类的成员,从而导致编译错误。
- 9.1.2.3 多重继承的构造顺序,多重继承的构造函数的调用顺序是按照派生类中基类的声明顺序来确定的
- 9.2.1.1 C++ 中的函数重载,在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。
- 9.2.2.1 重载运算符的必要性
- 9.2.2.2 重载运算符的形式与规则
- 9.2.2.3 重载运算符的运算
- 9.2.2.4 转换运算符
- 9.3.1.1 什么是多态,多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。
- 9.3.1.2 虚函数概述,虚函数 是在基类中使用关键字 virtual 声明的函数。告诉编译器不要静态链接到该函数。
- 9.3.1.3 利用虚函数实现动态绑定,也就是在运行时根据对象的实际类型来调用相应的函数实现。
- 9.3.1.4 虚继承,虚继承是一种特殊的继承方式,用于解决多继承中的菱形继承问题和冗余基类问题。虚继承可以确保在多继承中只有一个共享基类的实例。
- 9.4.1.1 什么是抽象类,抽象类是一种不能被实例化的类,它的目的是作为其他类的基类,提供接口和规范。C++ 接口是使用抽象类来实现的
- 9.4.1.2 抽象类的实例,定义抽象类的派生类,然后实现抽象类中的纯虚函数,最后创建派生类对象
- 9.4.1.3 实现抽象类中的成员函数,实现抽象类中的成员函数,需要在抽象类中声明纯虚函数。纯虚函数是通过在函数声明后面加上= 0来定义的
- 9.4.2.1 什么是数据抽象,数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。
- 9.4.2.2 访问标签强制抽象,我们使用访问标签来定义类的抽象接口。一个类可以包含零个或多个访问标签
- 9.4.2.3 数据抽象的实例,通过数据抽象,我们可以将类的实现细节与接口分离,简化了类的使用和理解。
- 9.4.2.5 数据抽象的好处,数据抽象提供了一种将类的实现细节隐藏起来的机制,通过封装和隐藏,提高了代码的安全性、可维护性和可扩展性。