虛擬繼承的疑惑


class A
{
int a;
};class

class B : public A
{
int b;
};gc

class C : public A
{
int c;
};vi

class D : virtual B,virtual C
{
int d;
};return

int _tmain(int argc, _TCHAR* argv[])
{
int nSize = sizeof(D);
return 0;
}

 

結果nSize = 24,比較奇怪。

若是爲class D : public B,public C卻 nSize = 20

相關文章
相關標籤/搜索