靜態類成員

2021-05-21 22:23:08 字數 594 閱讀 1668

這個是容易讓人混淆和遺忘的地方,越是基礎的東西,越容易考和出錯。

類的函式和資料成員都可以是靜態的。

1)靜態資料成員::c++的靜態成員變數能夠在建構函式裡初始化麼?

不能。因為靜態成員屬於類作用域,而不屬於類物件。程式一執行就初始化了,不可能在構造物件的時候再初始化一次。用複製語句最好。

靜態成員其實和全域性變數地位一樣的,只不過編譯器將他的使用限制在類作用域內。(不是類物件,他不屬於類物件成員)。要在累的定義外初始化(不是類作用域外)。

2)靜態成員函式

靜態成員函式有幾種限制:

1 靜態成員函式只能夠引用這個類的其他靜態成員(當然可以訪問全域性函式和資料)。

2 靜態成員函式沒有this 指標

3 同乙個函式不能夠同時有靜態和非靜態兩種,靜態成員函式不可以是虛函式

4 靜態成員函式不能被宣告為 const 和volatile.

3)靜態成員函式的應用是有限的,最大好處是可以再實際建立任何物件之前,預初始化私有的靜態資料。

class static_type

void show( );

int static_type::i;

int main( )

類靜態成員和類靜態成員函式

當將類的某個資料成員宣告為static時,該靜態資料成員只能被定義一次,而且要被同類的所有物件共享。各個物件都擁有類中每乙個普通資料成員的副本,但靜態資料成員只有乙個例項存在,與定義了多少類物件無關。靜態方法就是與該類相關的,是類的一種行為,而不是與該類的例項物件相關。靜態資料成員的用途之一是統計有...

靜態類成員

靜態變數也稱類變數,是在類的所有例項間共享 直接使用類名來引用 靜態方法通過類名觸發!c code class person public string public string profession 建構函式初始化!public person public void eating 正在吃飯!n ...

靜態類成員

靜態類成員包括靜態資料成員和靜態函式成員 一 靜態資料成員 類體中的資料成員的宣告前加上static關鍵字,該資料成員就成為了該類的靜態資料成員。和其他資料成員一樣,靜態資料成員也遵守public protected private訪問規則。同時,靜態資料成員還具有以下特點 1.靜態資料成員的定義。...