虛函數與虛繼承---sizeof()

 class Aide

{
char k[3];
public:
virtual void aa() {}
};
class B : public virtual A
{
char j[3];
public:
virtual void bb() {}
};
 
class C : public virtual B
{
char i[3];
public:
virtual void cc() {}
};
 
class D : public B, public C
{
char l[3];
virtual void dd() {}
};
 
int main (int argc, char *argv[]) {
cout << "A: " << sizeof(A) << endl
<< "B: " << sizeof(B) << endl
<< "C: " << sizeof(C) << endl
<< "D: " << sizeof(D) << endl;
return 0;
}
 
輸出8,16,24,36 很奇怪的是最後一個輸出,至今沒想出爲啥會是36。忘誰能幫我解答,不勝感激。
相關文章
相關標籤/搜索