静态成员函数

    • 所有对象共享同一个函数
    • 静态成员函数只能访问静态成员变量 => 否则不知道修改的是哪一个成员变量。因此,只能访问静态成员变量。


    示例:**

    1. class Person
    2. {
    3. public:
    4. //静态成员函数特点:
    5. //1 程序共享一个函数
    6. //2 静态成员函数只能访问静态成员变量
    7. static void func()
    8. {
    9. cout << "func调用" << endl;
    10. m_A = 100;
    11. //m_B = 100; //错误,不可以访问非静态成员变量
    12. }
    13. static int m_A; //静态成员变量
    14. int m_B; //
    15. private:
    16. //静态成员函数也是有访问权限的
    17. static void func2()
    18. {
    19. cout << "func2调用" << endl;
    20. }
    21. };
    22. int Person::m_A = 10;
    23. void test01()
    24. {
    25. //静态成员变量两种访问方式
    26. //1、通过对象
    27. Person p1;
    28. p1.func();
    29. //2、通过类名
    30. Person::func();
    31. //Person::func2(); //私有权限访问不到
    32. }
    33. int main() {
    34. test01();
    35. system("pause");
    36. return 0;
    37. }