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函数没有覆盖基类虚函数,那么直接挂在第一个基类虚表之后;如果有,则覆盖每一个基类中对应的虚函数;】