#include<iostream>
using namespace std;
class base {
int arr[10];
};
class b1: public base { };
class b2: public base { };
class derived: public b1, public b2 {};
int main(void)
{
cout << sizeof(derived);
return 0;
}
因为在 C++ 中默认类的成员是私有(private)的,为什么派生类的 sizeof 是 80。
最佳答案
访问说明符private
只与基类成员在派生类中的可访问性有关。派生类包含它派生的类的子对象。在本例中,它包含 b1
和 b2
子对象。所以它的大小是它们两个大小的总和。
关于具有空派生类对象的 C++ 继承大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117955/