C static 靜態成員

2022-06-30 11:51:09 字數 578 閱讀 9945

靜態成員包括靜態資料成員和靜態成員函式,提供了同類物件間資料成員的共享機制

靜態成員不是某個物件的成員,是類所有物件的共享成員,只建立乙個成員副本

定義格式:static 型別 成員名

引用格式:類名::靜態成員

初始化格式:型別 類名::靜態資料成員 = 初始化值

靜態資料成員為同類所有物件所共享,不能使用建構函式初始化,必須單獨初始化

靜態資料成員不能在任何函式中分配記憶體和初始化

靜態成員函式可以直接訪問本類靜態資料成員和靜態成員函式,但訪問非靜態成員需要借助物件呼叫

在物件建立之前,靜態成員函式就可以處理靜態資料成員

#include class type_name

static 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 中,我們可以使用靜態成員變數來實現多個物件共享資料的目標。靜...