请问下面代码为什么输出8 20 32(编译环境为VS2005).本人认为应该是8 16 24.还请大家给指正,谢谢!
#include <iostream>
using namespace std;
class A
{
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()
{
}
};
void main(void)
{
cout<<sizeof(A)<<endl;
cout<<sizeof(B)<<endl;
cout<<sizeof(C)<<endl;
}