3、继承中的对象模型.cpp 766 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //4.6.3 继承中的对象模型
  2. //问题 :从父亲继承来的成员,哪些属于子类对象中?
  3. #include <iostream>
  4. class Base
  5. {
  6. public:
  7. int m_A;
  8. protected:
  9. int m_B;
  10. private:
  11. int m_C;
  12. };
  13. class Son :public Base
  14. {
  15. public:
  16. int m_D;
  17. };
  18. //利用开发人员命令提示工具查看对象模型
  19. //跳转盘符 D: 文件路径所在硬盘
  20. //跳转文件路径 cd 具体路径下
  21. //查看命名
  22. //c1 /d1 reportSingleClassLayout类名 文件名
  23. void test01()
  24. {
  25. //16
  26. //父类中所有非静态成员属性都会被子类继承下去
  27. //父类中私有成员属性 是被编译器隐藏了 因此是访问不到的 但确实被继承了下去
  28. std::cout << "size of Son = " << sizeof(Son) << std::endl;
  29. }
  30. int main()
  31. {
  32. test01();
  33. system("pause");
  34. return 0;
  35. }
  36. //父类中私有成员也是被子类继承下去了,只是由编译器隐藏后访问不到