注意幾點:
1.類中的static變量或函數不占類的空間;
2.如果有虛函數(不管有多少個),有且只包含一個指向虛函數表的指針,占4個字節;
3.非虛函數不占空間;
4.一個空類的大小為1;
現舉幾個例子:
1. class A
{
static int i;
int j;
};
sizeof(A)=4;
2. class A
{
static int i;
int j;
virtual fun();
};
sizeof(A)=8;
3.class A
{
static int i;
int j;
virtual fun();
virtual fun2();
void fun3();
};
sizeof(A)=8;
4.classA
{
}
sizeof(A)=1;
5.class A
{
static int i;
int j;
virtual fun();
};
class B:public A
{
virtual fun();
virtual fun2();
void fun3();
};
sizeof(B)=8;