static修飾符 (在類中的意義及用法)
阿新 • • 發佈:2019-01-01
(以下內容參考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**
{
//--------
}
- 在類中定義的靜態函式不能訪問 靜態成員以外的其他變數。
- 該函式不經例項化即可呼叫。
- 靜態函式無法是虛擬函式。