C++中的靜態數據成員用關鍵字static表示,首先我們應該從兩個維度上來考慮,
(1)是生存周期的角度問題,就是它和C語言中的static一樣,也是在程序開始的時候,分配存儲空間,在程序結束的時候才釋放存儲空間。
(2)能夠實現同類的多個對象之間的數據共享。類似于C語言中的全局變量,能夠被多個函數所使用。
靜態數據成員在使用過程中注意的問題:
(1)靜態數據中員不屬于對象,普通的數據成員,在聲明類的時候是不占有存儲空間的,而靜態數據成員是不屬于類的,所以在聲明的時候就占有存儲空間。
(2)即使不定義類對象,靜態數據成員也可以在類外被引用,即使不定義類對象,也就是說這個和普通成員變量是不同的,普通的成員變量屬于類對象,不定義類對象是不可以引用的。
(3)靜態成員可以初始化,但是只能在類體外進行初始化,int Box::height=10;
(4)public和PRivate對靜態數據成員的影響
在類外初始化的時候是不分public和private的。但是引用的時候就不行了。
但是對于類對象來說,就和原來普通成員變量是相同的了,
新聞熱點
疑難解答
圖片精選