靜態成員屬於類,但不屬於物件所有。例如類a中含有乙個靜態成員static a,那麼所有的a的物件都可以共享a
靜態成員的提出是為了解決資料共享的問題。實現共享有許多方法,如:設定全域性性的變數或物件是一種方法。但是,全域性變數或物件是有侷限性的。這一章裡,我們主要講述類的靜態成員來實現資料的共享。
類中,靜態成員可以實現多個物件之間的資料共享,並且使用靜態資料成員還不會破壞隱藏的原則,即保證了安全性。因此,靜態成員是類的所有物件中共享的成員,而不是某個物件的成員。
使用靜態資料成員可以節省記憶體,因為它是所有物件所公有的,因此,對多個物件來說,靜態資料成員只儲存一處,供所有物件共用。靜態資料成員的值對每個物件都是一樣,但它的值是可以更新的。只要對靜態資料成員的值更新一次,保證所有物件訪問更新後的相同的值,這樣可以提高時間效率。
1.靜態成員定義宣告要 新增 static 。
2.靜態成員的初始化不能在類定義中完成,要在類定義外完成。形式為 《資料型別》 《類型別》 :: 靜態成員名 = 初始值
3.靜態成員是靜態儲存的,因此要有初始化。
4. 靜態成員的訪問可以通過對 類名 :: 靜態成員名的形式訪問。
使用示例如下:
#include using namespace std;
class a
{ public:
static int i; //定義靜態成員
void fun()
{i++; //成員函式完成靜態成員的自累加操作
由此可以看出static 成員的共享性。
C 之static類成員,static類成員函式
0.static修飾類中成員,表示類的共享資料 1.static類成員 在c primer裡面說過,static類成員不像普通的類資料成員,static類資料成員獨立於一切類物件處在。static類資料成員是與類關聯的,但不與該類定義的物件有任何關係。這句話什麼意思?就是static不會想普通類資料...
C 類的static成員
1,靜態 static 成員綜述 靜態成員 不是任意物件的組成部分,但由給定類的全體物件所共享的資料成員或函式成員。靜態成員是與類關聯的物件,而不是像普通的成員那樣與類的物件相關聯。靜態成員可以是資料成員,或成員函式。靜態成員遵循正常的共有 私有訪問規則。通過關鍵字static宣告靜態成員。2,靜態...
C 細節 static類成員使用注意
對於某一特定類型別的全體物件我們需要訪問乙個共同的變數,這個時候我們通常是在類的宣告中宣告乙個靜態變數即static變數。當然可以用乙個全域性變數來代替,但是用全域性變數是乙個很不好的習慣,重要的一點就是全域性變數會破壞類的封裝。然而類中static變數不像普通變數,它獨立與該類的任意物件而存在,每...