河蟹 发表于 2020-6-9 21:02:57

类所占大小计算

本帖最后由 河蟹 于 2020-6-9 21:54 编辑

class A{
        virtual void func1(){}
};
class B{
        virtual void func2(){}
};
class C:virtual public A, virtual public B
{
public:
        virtual void func3(){}
};

int _tmain(int argc, _TCHAR* argv[])
{
        cout << sizeof(A) << " " << sizeof(B) << " " << sizeof(C);
        return 0;
}


sizeof(C)为什么是16呢

梦想灬远帆 发表于 2020-6-10 17:18:42

C虚继承A和B,在C里面会增加虚函数指针(vfptr),指针是占空间的
页: [1]
查看完整版本: 类所占大小计算