靜態成員包括靜態資料成員和靜態成員函式,提供了同類物件間資料成員的共享機制
靜態成員不是某個物件的成員,是類所有物件的共享成員,只建立乙個成員副本
定義格式:static 型別 成員名
引用格式:類名::靜態成員
初始化格式:型別 類名::靜態資料成員 = 初始化值
靜態資料成員為同類所有物件所共享,不能使用建構函式初始化,必須單獨初始化
靜態資料成員不能在任何函式中分配記憶體和初始化
靜態成員函式可以直接訪問本類靜態資料成員和靜態成員函式,但訪問非靜態成員需要借助物件呼叫
在物件建立之前,靜態成員函式就可以處理靜態資料成員
#include class type_namestatic void set_data_member(int arg);
private:
static int data_member;
};void type_name::set_data_member(int arg)
int type_name::data_member = 0;
void main()
C static靜態成員
class a a void fun 普通成員函式 static void printnum 靜態成員函式 private int m a 普通成員變數 int m b 普通成員變數 static int num 靜態成員變數 靜態成員必須在定義類的檔案中對靜態成員變數進行初始化,否則會編譯出錯。i...
C static靜態成員函式
在類中,static 除了可以宣告靜態成員變數,還可以宣告靜態成員函式。普通成員函式可以訪問所有成員 包括成員變數和成員函式 靜態成員函式只能訪問靜態成員。編譯器在編譯乙個普通成員函式時,會隱式地增加乙個形參 this,並把當前物件的位址賦值給 this,所以普通成員函式只能在建立物件後通過物件來呼...
C static靜態成員變數
有時候我們希望在多個物件之間共享資料,物件 a 改變了某資料後物件 b 可以檢測到。共享資料的典型使用場景是計數 以 student 類為例,如果我們想知道班級中共有多少名學生,就可以設定乙份共享的變數,每次建立物件時讓該變數加 1 在c 中,我們可以使用靜態成員變數來實現多個物件共享資料的目標。靜...