1. 程式人生 > >static修飾符 (在類中的意義及用法)

static修飾符 (在類中的意義及用法)

(以下內容參考C++static的用法總結
這裡講的不會很詳細,主要是幾點:

  • static的意義
    為什麼要用static修飾符? 大家都知道,函式內部定義的變數在函式結束時就會釋放掉,然而要想將次變數的值儲存下來,這裡有兩種辦法,全域性變數static修飾符。全域性變變數能在任何地方訪問,然而我們只需在函式中使用,這破壞了這個類的封裝性。
  • static 用法

1.類中定義了靜態成員。

 -  必須在cpp檔案中對他進行初始化!!否則編譯器會報錯。

 - 該static資料成員在該類中的所有例項化物件是公用的!例如你修改了物件a中static的 num,物件b中的也會改變。

2.中定義了靜態函式

   - 在實現宣告時不用再加static。
  class  a
        {
            //其他省略
            static void max(int a,int b)
        }
       void a::max(int a,int b)//**不用再寫static**
       {
           //--------
       }
  • 在類中定義的靜態函式不能訪問 靜態成員以外的其他變數。
  • 該函式不經例項化即可呼叫。
  • 靜態函式無法是虛擬函式。