class
P
{
private
:
int
ival;
public
:
P();
~P();
int
GetVal(){
return
ival;
};
virtual
int
SetVal(
int
val)
{
ival=val;
};
};
在32位编译器下sizof(P)为8.
1.类的大小为类的非静态成员数据的类型大小之和,也就是说静态成员数据不作考虑。
2.普通成员函数与sizeof无关。
3.虚函数由于要维护在虚函数表,所以要占据一个指针大小,也就是4字节。
4.类的总大小也遵守类似class字节对齐的,调整规则。
本题中,int ival占4个字节,同时virtualintSetVal(intval)占用4个字节,一共是占用8个字节,选B