请熟悉c++的高手解答一个小问题
yoci 2000-12-17 11:55:00 关于虚继承的对象模型,不同的c++编译器在幕后作的工作也不相同,比如下面这段代码,
在vc下编译时输出8,8,12。请教,除去4字节的虚指针vptr之外,对象模型中还有些什么?我觉得好象是Null指针,不知道对不对,如果对的话,放进1~2个Null指针又有什么作用?
谢谢。
#include "iostream.h"
class base
{
public:
virtual void f() const {};
};
class d1 : virtual public base
{};
class d2 : virtual public base
{};
class derived : public d1, public d2
{};
int main()
{
d1 b;
d2 c;
derived d;
cout<<sizeof(b)<<endl;
cout<<sizeof(c)<<endl;
cout<<sizeof(d)<<endl;
return 0;
}