C 中的靜態資料成員

2021-07-27 04:16:41 字數 540 閱讀 4674

c++中的靜態資料成員用關鍵字static表示,首先我們應該從兩個維度上來考慮,

(1)是生存週期的角度問題,就是它和c語言中的static一樣,也是在程式開始的時候,分配儲存空間,在程式結束的時候才釋放儲存空間。

(2)能夠實現同類的多個物件之間的資料共享。類似於c語言中的全域性變數,能夠被多個函式所使用。

靜態資料成員在使用過程中注意的問題:

(1)靜態資料中員不屬於物件,普通的資料成員,在宣告類的時候是不占有儲存空間的,而靜態資料成員是不屬於類的,所以在宣告的時候就占有儲存空間。

(2)即使不定義類物件,靜態資料成員也可以在類外被引用,即使不定義類物件,也就是說這個和普通成員變數是不同的,普通的成員變數屬於類物件,不定義類物件是不可以引用的。

(3)靜態成員可以初始化,但是只能在類體外進行初始化,int box::height=10;

(4)public和private對靜態資料成員的影響

在類外初始化的時候是不分public和private的。但是引用的時候就不行了。

但是對於類物件來說,就和原來普通成員變數是相同的了,

C 靜態成員 2 靜態資料成員

目錄 1.靜態成員的構造 2.靜態成員的訪問 3.靜態成員的初始化 include class a class b int main 輸出 b s constructor called 結論 程式只呼叫了b的建構函式,而沒有呼叫a的建構函式。原因很簡單,靜態成員僅僅在類宣告的時候而宣告,但是不會定義...

c 靜態資料成員

1.靜態資料成員的定義class test 靜態資料成員在類內只能宣告,不能定義.宣告格式為 static 資料型別 變數名 要對靜態資料成員定義和初始化必須在類的外面也就是在全域性作用域中定義,如果定義不給出初值,則預設初值為0。靜態資料成員可以初始化,但只能在類體外初始化。格式 資料型別 類名 ...

C 中靜態成員與非靜態成員

靜態成員和非靜態成員 若將類中的某個成員宣告為 static 該成員稱為靜態成員,類中的成員要麼是靜態,要麼是非靜態的。一般說來靜態成員是屬於類所有的,非靜態成員則屬於類的例項。以下示例 演示了如何宣告靜態和非靜態成員。using system class test static void g st...