對於靜態類成員,需要注意一下幾點:
1)靜態類成員可以是當前類的型別,而其他資料成員只能是當前類的指標或應用型別。在定義類成員是時,對於靜態資料成員,其型別可以是當前類的型別,而非靜態資料成員則不可以,除非資料成員的型別為當前類的指標或引用型別;例如
class cbook
;
2)靜態資料成員可以作為成員函式的預設引數
在定義類的成員函式時,可以作為成員函式指定預設引數,其引數的預設值也可以是類的靜態資料成員,但是不同的資料成員則不能作為成員函式的預設引數。例如
class cbook
void outputpages(int page = m_pages)//錯誤的定義,類的普通資料成員不能作為預設引數 }
;
3)類的靜態成員函式,只能訪問靜態資料成員,不能訪問普通資料成員。
4)靜態成員函式不能定義為const 成員函式,為非法的。
5)如果靜態成員函式在類外定義,前面不用加static關鍵字。
類靜態成員和類靜態成員函式
當將類的某個資料成員宣告為static時,該靜態資料成員只能被定義一次,而且要被同類的所有物件共享。各個物件都擁有類中每乙個普通資料成員的副本,但靜態資料成員只有乙個例項存在,與定義了多少類物件無關。靜態方法就是與該類相關的,是類的一種行為,而不是與該類的例項物件相關。靜態資料成員的用途之一是統計有...
靜態類成員
這個是容易讓人混淆和遺忘的地方,越是基礎的東西,越容易考和出錯。類的函式和資料成員都可以是靜態的。1 靜態資料成員 c 的靜態成員變數能夠在建構函式裡初始化麼?不能。因為靜態成員屬於類作用域,而不屬於類物件。程式一執行就初始化了,不可能在構造物件的時候再初始化一次。用複製語句最好。靜態成員其實和全域...
靜態類成員
靜態變數也稱類變數,是在類的所有例項間共享 直接使用類名來引用 靜態方法通過類名觸發!c code class person public string public string profession 建構函式初始化!public person public void eating 正在吃飯!n ...