c++基礎複習——類的靜態成員

靜態成員就是在成員變量和成員函數前加上關鍵字static,稱爲靜態成員

1.靜態成員變量

  • 所有對象共享同一份數據
  • 在編譯階段分配內存
  • 類內申明,類外初始化

2.靜態成員函數

  • 所有對象共享一個函數
  • 靜態成員函數只能訪問靜態成員變量
    #include <iostream>
    using namespace std;
    
    class Person
    {
    public:
        static int m_a;
    
        static void fun()
        {
            m_a = 200; //靜態成員函數只可以訪問靜態成員變量,不可以訪問非靜態成員變量
                      //因爲無法區分到底是哪個對象的成員變量
            cout << "static void fun 調用 " << endl;
        }
    }
    
    int Person::m_a = 100;
    
    void test1()
    {
        //靜態變量,不屬於某一個具體的對象,所有的對象都共享同一份數據
        //因此靜態成員變量有2種訪問方式
        //1通過對象進行訪問
        Person p;
        cout << p.m_a << endl;
        p.fun()
        //2 通過類名進行訪問
        cout << Person::m_a << endl;
        Person::fun();
        //靜態成員變量也是由訪問權限的
    }
    int main()
    {
        test1();
    
        return 0;
    }

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章