C语言中如何实现深入理解多态与虚函数的机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1537个文字,预计阅读时间需要7分钟。
目录 + 1. 多态机制与虚函数机制 + 1.1 多态机制 + 1.2 虚函数机制 + 1.3 虚函数表的结构图 + 1.4 动态多态实现的三个前提条件(非常重要) + 2. 多态实例应用 + 3. 多态的巨大问题与虚析构 + 3.1 代码示例
目录
- 1.多态的机制与虚函数的机制
- 1.1 多态的机制
- 1.2 虚函数的机制
- 1.3虚函数表的结构图
- 1.4 动态多态实现的三个前提件(很重要)
- 2.多态实例应用
- 3.多态的巨大问题与虚析构
- 3.1代码举例说明
- 3.2代码实现
- 4.纯虚函数与抽象类
- 4.1纯虚函数语法格式
- 4.2纯虚函数的定义
- 4.3抽象类的应用实例
1.多态的机制与虚函数的机制
1.1 多态的机制
1.当在类中使用virtual声明一个函数为虚函数时,在编译时,编译器会自动在基类中默默地安插一个虚函数表指针,同时的.rodata段为这类生成一张虚函数表,用来保存类中的虚函数的地址。
2.当继承发生时,父类中的虚指针就被子类给继承了下来,所以他的类对象空间就增大了一个指针的大小。
本文共计1537个文字,预计阅读时间需要7分钟。
目录 + 1. 多态机制与虚函数机制 + 1.1 多态机制 + 1.2 虚函数机制 + 1.3 虚函数表的结构图 + 1.4 动态多态实现的三个前提条件(非常重要) + 2. 多态实例应用 + 3. 多态的巨大问题与虚析构 + 3.1 代码示例
目录
- 1.多态的机制与虚函数的机制
- 1.1 多态的机制
- 1.2 虚函数的机制
- 1.3虚函数表的结构图
- 1.4 动态多态实现的三个前提件(很重要)
- 2.多态实例应用
- 3.多态的巨大问题与虚析构
- 3.1代码举例说明
- 3.2代码实现
- 4.纯虚函数与抽象类
- 4.1纯虚函数语法格式
- 4.2纯虚函数的定义
- 4.3抽象类的应用实例
1.多态的机制与虚函数的机制
1.1 多态的机制
1.当在类中使用virtual声明一个函数为虚函数时,在编译时,编译器会自动在基类中默默地安插一个虚函数表指针,同时的.rodata段为这类生成一张虚函数表,用来保存类中的虚函数的地址。
2.当继承发生时,父类中的虚指针就被子类给继承了下来,所以他的类对象空间就增大了一个指针的大小。

