静态成员变量

    • 所有对象共享同一份数据
    • 在编译阶段分配内存
    • 类内声明,类外初始化

    示例:

    1. class Person
    2. {
    3. public:
    4. static int m_A; //静态成员变量
    5. //静态成员变量特点:
    6. //1 在编译阶段分配内存
    7. //2 类内声明,类外初始化
    8. //3 所有对象共享同一份数据
    9. private:
    10. static int m_B; //静态成员变量也是有访问权限的
    11. };
    12. int Person::m_A = 10;
    13. int Person::m_B = 10;
    14. void test01()
    15. {
    16. //静态成员变量两种访问方式
    17. //1、通过对象
    18. Person p1;
    19. p1.m_A = 100;
    20. cout << "p1.m_A = " << p1.m_A << endl;
    21. Person p2;
    22. p2.m_A = 200;
    23. cout << "p1.m_A = " << p1.m_A << endl; //共享同一份数据
    24. cout << "p2.m_A = " << p2.m_A << endl;
    25. //2、通过类名
    26. cout << "m_A = " << Person::m_A << endl;
    27. //cout << "m_B = " << Person::m_B << endl; //私有权限访问不到
    28. }
    29. int main() {
    30. test01();
    31. system("pause");
    32. return 0;
    33. }