您的位置:首页 > 编程语言 > C语言/C++

C++ 虚函数表解析

2017-02-07 20:49 295 查看
C++ 虚函数表解析:http://blog.csdn.net/haoel/article/details/1948051/

C++ 对象的内存布局(上):http://blog.csdn.net/haoel/article/details/3081328

C++ 对象的内存布局(下):http://blog.csdn.net/haoel/article/details/3081385

虚函数表:

类最开始的位置指定虚函数表地址。

类存储其每个父类的虚函数表

虚函数表中存储所有的虚函数,如果子类覆盖了父类的虚函数,则存储子类的函数地址,否则存储父类的函数地址

类自己新增的函数存在第一个父类的虚函数表中

类的存储结构

如果不是共享继承,则类先存储每个父类的虚函数表和数据,最后存储自己的数据

如果多个父类有共同的父类,则孙子类中存储多份爷爷类

如果的共享继承,则共同爷爷类存在最后,每个父类要多存储一份爷爷类相对于本类的偏移
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: