虚继承
虚继承首先加入了一个指针,可认为它指向一个关于虚基类偏移量的数组,偏移量是关于虚基类数据成员的偏移量
其次,在子类中完整包含了父类的内容
sizeof(子类) = sizeof(父类) + 子类数据成员大小 + sizeof(指针)
对于含有虚函数的虚继承
sizeof(子类) = sizeof(父类) + 子类数据成员大小 + sizeof(指针) + sizeof(指针) //指向父类偏移量数组的指针和指向虚函数表的指针
但是在有些编译其中用sizeof获取虚继承子类大小的时候并不会算入指向父类偏移量指针(gcc,gcc中子类的虚报指针和父类中的字表指针是共享的)