荣耀存于心, 而非流于形
文章目录
0 前言
面向对象主要的特点就是封装, 继承, 多态. 而后两者关系之紧密, 内容难度之复杂, 值得我们认真理解和剖析
1 多态的概念
2 多态的实现条件
3 多态体现
4 多态的原理*
4.1 虚函数表
- 注: 同一个类的对象共用同一个虚表
4.2 多态的原理
4.3 多态的分类
5 单继承和多继承模型
5.1 单继承派生类模型
5.2 多继承派生类模型
6 抽象类
6.1 抽象类概念
在虚函数的后面写上 = 0 ,则这个函数为纯虚函数。包含纯虚函数的类叫做抽象类(也叫接口类),抽象类 不能实例化出对象。派生类继承后也不能实例化出对象,只有重写纯虚函数,派生类才能实例化出对象。纯虚函数规范了派生类必须重写,另外纯虚函数更体现出了接口继承
6.2 接口继承与实现
普通函数的继承是一种实现继承,派生类继承了基类函数,可以使用函数,继承的是函数的实现。虚函数的 继承是一种接口继承,派生类继承的是基类虚函数的接口,目的是为了重写,达成多态,继承的是接口。所 以如果不实现多态,不要把函数定义成虚函数.