各位高手,我发现一个虚拟继承的奇怪问题,请指教?
class M
{
public:
virtual void a(){cout << "a "<<endl;};
M():m(50){};
int m;
};
class N:virtual public M
{public:
virtual void a(){cout << "b "<<endl;};
/* N():aa(50){};*/
int aa;
};
上面的代码,在VC6下,sizeof(N)大小,在N提供构造函数,和不提供构造函数时,大小相差4个字节。