1、成员变量和成员函数分开储存.cpp 899 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //4.3.1 成员变量和成员函数分开储存
  2. //在C++中,类内的成员变量和成员函数分开储存
  3. //只有非静态成员变量才属于类的对象
  4. #if(0)
  5. #include <iostream>
  6. class Person
  7. {
  8. int m_A; //非静态成员变量 属于类的对象上
  9. static int m_B; //静态成员变量 不属于类的对象上
  10. void func() //非静态成员函数 不属于类的对象上
  11. {
  12. }
  13. static void func2() //静态成员函数 不属于类的对象上
  14. {
  15. }
  16. };
  17. int Person::m_B = 0;
  18. void test01()
  19. {
  20. Person p;
  21. //空对象真用的内存空间为 : 1 byte
  22. //C++编译器会给每个空对象也分配一个字节空间,是为了区分空对象占内存的位置
  23. //每个空对象也应该有一个独一无二的内存地址
  24. std::cout << "size of p = " << sizeof(p) << std::endl;
  25. }
  26. void test02()
  27. {
  28. Person p;
  29. std::cout << "size of p = " << sizeof(p) << std::endl;
  30. }
  31. int main()
  32. {
  33. //test01();
  34. test02();
  35. system("pause");
  36. return 0;
  37. }
  38. #endif