#include <iostream>
class Base {
public:
int m_a;
protected:
int m_b;
private:
int m_c;
};
class Son :public Base {
private:
int m_d;
};
int main()
{
//父类中所有静态成员属性都会被子类继承
//父类中的私有成员属性被编译器隐藏了,因此访问不到,但确实被继承下去了
std::cout << "Son的大小:" << sizeof(Son) << std::endl; //16
system("pause");
return 0;
}
通过VS开发人员命令查看继承中的对象模型:
查看命令:cl /d1 reportSingleClassLayout具体查看的类 查看类所属文件
总结:
父类中的所有非静态成员属性都被子类所继承下来,父类的私有成员属性被隐藏了,但的确是存在于子类的内存内