C 之靜態成員變數和靜態成員函式

2021-08-08 13:09:30 字數 759 閱讀 4127

一、靜態成員變數

1)關鍵字 static 可以用於說明乙個類的成員,

靜態成員提供了乙個同類物件的共享機制

2)把乙個類的成員說明為 static 時,這個類無論有多少個物件被建立,這些物件共享這個 static 成員

3)靜態成員區域性於類,它不是物件成員,在類的外部進行初始化

二、靜態成員函式

1)靜態成員函式數冠以關鍵字static

2)靜態成員函式提供不依賴於類資料結構的共同操作,它沒有this指標

3)在類外呼叫靜態成員函式用 「類名 :: 」作限定詞,或通過物件呼叫

4)疑難問題:靜態成員函式中,不能使用普通變數,只能使用靜態成員變數

三、函式例項

#include class test11

void print()

// 靜態成員函式只能使用靜態成員變數

static void printa()

public:

// 靜態成員變數,屬於類,不屬於某個物件

// 是所有物件共享的,靜態是在資料區分配,只有乙個備份

// 靜態變數不能由某個物件進行初始化

// 靜態變數必須在類的外部重新定義並且初始化

static int sm_a;

int m_b;

};// 重新定義類的靜態變數並且初始化

int test11::sm_a = 100;

int main11_1()

C 靜態成員變數和靜態成員函式

資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...

C 靜態成員變數和靜態成員函式

資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...

C 靜態成員變數和靜態成員函式

靜態成員變數和靜態資料成員並不屬於某乙個類物件,而是整個類,為所有物件共有,下面介紹 靜態成員變數和靜態資料成員的一些特徵 class a int tmain int argc,tchar argv 結果如下 1 class a const char a c b 可以通過作用域操作符,類的物件,引用...