首页 > 代码库 > C++ 空类与多重继承的空类占用内存空间

C++ 空类与多重继承的空类占用内存空间

1、输出以代码结果

#include <iostream>using namespace std;class A {};class A2 {};class B : public A {};class C : public A, public A2 {};class D : public virtual B {};int main(){    cout << sizeof(A) << endl;    cout << sizeof(B) << endl;    cout << sizeof(C) << endl;    cout << sizeof(D) << endl;            return 0;}

 

2、结果

1114

 

3、析

空类所占内空间为1

单一继承或多重继承空类的空类所占空间还是1

但虚继承涉及虚指针,指针大小为4,故虚继承后空类所占空间为4

C++ 空类与多重继承的空类占用内存空间