在c++中,靜態成員是屬於整個類的而不是某個物件,靜態成員變數只儲存乙份供所有物件共用。所以在所有物件中都可以共享它。使用靜態成員變數實現多個物件之間的資料共享不會破壞隱藏的原則,保證了安全性還可以節省記憶體。
靜態成員的定義或宣告要加個關鍵static。靜態成員可以通過雙冒號來使用即《類名》::《靜態成員名》。
在c++中類的靜態成員變數和靜態成員函式是個容易出錯的地方,本文先通過幾個例子來總結靜態成員變數和成員函式使用規則,再給出乙個例項來加深印象。希望閱讀本文可以使讀者對類的靜態成員變數和成員函式有更為深刻的認識。
第乙個例子,通過類名呼叫靜態成員函式和非靜態成員函式
class point
static void output()
};void main()
static void output()
private:
int m_x;
};void main()
static void output()
};void main()
~point()
static void output()
private:
static int m_npointcount;
};void main()
; student::student(char *pszname)
student::~student ()//析構過程就是節點的脫離過程
else
} void student::printfallstudents()
student* student::m_head = null;
void main()
程式將輸出:
當然在本例還可以增加個靜態成員變數來表示鍊錶中學生個數,如果讀者有興趣,就將這個作為小練習吧。
C 類的靜態成員詳細講解
在c 中,靜態成員是屬於整個類的而不是某個物件,靜態成員變數只儲存乙份供所有物件共用。所以在所有物件中都可以共享它。使用靜態成員變數實現多個物件之間的資料共享不會破壞隱藏的原則,保證了安全性還可以節省記憶體。靜態成員的定義或宣告要加個關鍵static。靜態成員可以通過雙冒號來使用即 類名 靜態成員名...
C 類的靜態成員詳細講解(二)
類中的靜態成員真是個讓人愛恨交加的特性。我決定好好總結一下靜態類成員的知識點,以便自己在以後面試中,在此類問題上不在被動。靜態類成員包括靜態資料成員和靜態函式成員兩部分。一 靜態資料成員 類體中的資料成員的宣告前加上static關鍵字,該資料成員就成為了該類的靜態資料成員。和其他資料成員一樣,靜態資...
C 類靜態成員與類靜態成員函式
當將類的某個資料成員宣告為static時,該靜態資料成員只能被定義一次,而且要被同類的所有物件共享。各個物件都擁有類中每乙個普通資料成員的副本,但靜態資料成員只有乙個例項存在,與定義了多少類物件無關。靜態方法就是與該類相關的,是類的一種行為,而不是與該類的例項物件相關。靜態資料成員的用途之一是統計有...