c++

来源:互联网 发布:linux查看外网地址 编辑:程序博客网 时间:2024/06/03 17:06
classP
{
private:
    intival;
public:
    P();
    ~P();
    intGetVal(){
        returnival;
    };
    virtualint SetVal(intval)
    {
        ival=val;
    };
};
在32位编译器下sizof(P)为8.

1.类的大小为类的非静态成员数据的类型大小之和,也就是说静态成员数据不作考虑。

2.普通成员函数与sizeof无关。

3.虚函数由于要维护在虚函数表,所以要占据一个指针大小,也就是4字节。

4.类的总大小也遵守类似class字节对齐的,调整规则。

 本题中,int ival占4个字节,同时virtualintSetVal(intval)占用4个字节,一共是占用8个字节,选B


0 0
原创粉丝点击