c++面试题之 多继承内存结构

来源:互联网 发布:最红网络歌曲 编辑:程序博客网 时间:2024/06/03 06:09
class base1{public:virtual void fun(){};int x;};class base2{public:virtual void fun(){};virtual void foo(){};int x;};class derived:public base1,base2{virtual void fun(){};char c;int x;};

cl /d1 reportSingleClassLayoutderived test.cpp命令查看内存结构

base1虚表指针

base1成员变量

base2 虚表指针

base2成员变量

derived成员变量

【如果derived函数没有覆盖基类虚函数,那么直接挂在第一个基类虚表之后;如果有,则覆盖每一个基类中对应的虚函数;】


0 0