靜態成員

1基本介紹

在c++類中聲明成員時可以加上static關鍵字,這樣聲明的成員就叫做靜態成員(包括數據成員和成員函數)。例如:
class test{
public:
test(){}
~test(){}
public:
//靜態成員函數
static int getCount(){
return m_nCount;
}
private:
//靜態數據成員
static int m_nCount;
};
int test::m_nCount=0;

2區別對比

靜態數據成員和普通數據成員區別較大,體現在下面幾點:
(1)普通數據成員屬於類的一個具體的對象,只有對象被創建了,普通數據成員纔會被分配內存。而靜態數據成員屬於整個類,即使沒有任何對象創建,類的靜態數據成員變量也存在。
(2)因爲類的靜態數據成員的存在不依賴與於任何類對象的存在,類的靜態數據成員應該在代碼中被顯示的初始化,一定要在類外進行,例如上例。
(3)外部訪問類的靜態成員只能通過類名來訪問,例如:test::getCount()。
(4)類的靜態成員函數無法直接訪問普通數據成員(可以通過對象名間接的訪問),而類的任何成員函數都可以訪問類的靜態數據成員。
(5)靜態成員和類的普通成員一樣,也具有public、protected、private3種訪問級別,也可以具有返回值、const修飾符等參數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章