天天看點

C++ Primer Plus學習筆記之靜态成員C++ Primer Plus學習筆記之靜态成員

關鍵字static可以用來說明一個類的成員(包括資料成員和成員函數),這樣的成員被稱為靜态成員;

1,靜态資料成員

在一個類中,若将一個資料說明前加上static,則該資料成為靜态資料,靜态資料成員被該類的所有對象共享。無論建立多少個該類的對象,都隻有一個靜态資料存儲空間;

具體文法如下:

類型名 類名::靜态資料成員[=常量表達式]

其中,常量表達式用于初始化類的靜态資料成員;

靜态資料成員屬于類,而不屬于對象,因為靜态成員的存在是不依賴于某個具體的對象的。在這個意義下,在類對象不存在的情況下,我們也可以通路到類的靜态成員。

2,靜态成員函數

與靜态資料成員一樣,靜态成員函數屬于類而不是某個類對象;是以在類外調用一個共有的靜态資料成員函數,不需要指明對象或者指向對象的指針,具體方式為:

類名::靜态成員函數名(參數清單)

一般使用靜态成員函數來通路靜态資料成員;

若在靜态成員函數中要通路非靜态成員時,必須明确地指明該靜态成員函數在哪個對象上操作,必須需要通過對象或者指向對象的指針進行,是以需要類類型作為靜态成員函數的參數類型(出非使用全局對象);

繼續閱讀