對於某一特定類類型的全體對象我們需要訪問一個共同的變量,這個時候我們通常是在類的聲明中聲明一個靜態變量即static變量。當然可以用一個全局變量來代替,但是用全局變量是一個很不好的習慣,重要的一點就是全局變量會破壞類的封裝。然而類中static變量不像普通變量,它獨立與該類的任意對象而存在,每個static數據成員與一個特定的類相關連,而非與該類的對象相關連
一.使用類的static成員的優點:
1.static成員的名字是在類的作用域中,因此可以避免與其他類的成員或全局對象的名字發生沖突。
2.可以實施封裝。static成員可以是私有成員,而全局對象不可以
3.通過閱讀程序容易看出static成員是與特定類關聯的。這種可見性可以清晰地顯示程序員的意圖。
二.static類成員的生命與定義http://www.BkJia.com
static類成員在聲明類的時候同時被聲明,static類成員的定義應該放在該類的實現文件中。即類聲明在A.h中,而類的實現放在A.cpp中則,static類型變量的定義就放在A.cpp中。
格式為<數據類型> <類名>::<static變量名>=<初始值>
三.static修飾const類型的變量
當static修飾const類型的變量時,此變量可以在類的聲明中直接初始化,但是該數據成員仍然必須在定義體之外進行定義。
作者 凌風