请教以下 基础问题
#include <iostream>
#include <string>
using namespace std;
class B
{
public:
B();
~B();
virtual void a(){int b=0;};
virtual void D(){int C=0;};
protected:
private:
};
class C
{
public:
C();
~C();
virtual void a(){int b=0;};
protected:
private:
};
class D
{
public:
D();
~D();
protected:
private:
};
void main()
{
cout<<sizeof(B)<<endl;
cout<<sizeof(C)<<endl;
cout<<sizeof(D)<<endl;
}
输出是4,4,1 为什么会这样呢?
能详细解释一下么?谢谢