C 之static類成員,static類成員函式

2022-06-17 20:48:13 字數 882 閱讀 5295

0.static修飾類中成員,表示類的共享資料

1.static類成員

在c++primer裡面說過,static類成員不像普通的類資料成員,static類資料成員獨立於一切類物件處在。static類資料成員是與類關聯的,但不與該類定義的物件有任何關係。這句話什麼意思?就是static不會想普通類資料成員一樣每乙個類物件都有乙份,全部類物件是共享乙個static類成員的,例如a類物件修改了static成員為1,那麼b物件對應的static類物件成員的值也會是1.

注意:static類物件必須要在類外進行初始化

如:static類物件必須要在類外進行初始化

class text

;int text::count=0;//用static成員變數必須要初始化

int main()

;int text::count=0;//用static成員變數必須要初始化

int main()

static int count;

int num;

};int text::count=5;//用static成員變數必須要初始化

int main()

總結:

> 類中的static資料成員需要在類之外進行初始化

> 被類或類建立的物件共享

> 全域性/靜態區

靜態成員函式

> 它的形參列表之中沒有隱含的this指標

> 不能呼叫非靜態的資料成員

> 不能呼叫非靜態的成員函式

> 只能呼叫靜態的成員

> 可以直接通過類名呼叫

C 類的static成員

1,靜態 static 成員綜述 靜態成員 不是任意物件的組成部分,但由給定類的全體物件所共享的資料成員或函式成員。靜態成員是與類關聯的物件,而不是像普通的成員那樣與類的物件相關聯。靜態成員可以是資料成員,或成員函式。靜態成員遵循正常的共有 私有訪問規則。通過關鍵字static宣告靜態成員。2,靜態...

複習 C 之static成員

當類中只有乙個int成員時,這個類的大小為4,但是類中只有乙個靜態int成員時,這個類的大小為1。includeusing namespace std class cperson 只有乙個int成員時 int main includeusing namespace std class cperson...

C 類static 成員的使用

靜態成員屬於類,但不屬於物件所有。例如類a中含有乙個靜態成員static a,那麼所有的a的物件都可以共享a 靜態成員的提出是為了解決資料共享的問題。實現共享有許多方法,如 設定全域性性的變數或物件是一種方法。但是,全域性變數或物件是有侷限性的。這一章裡,我們主要講述類的靜態成員來實現資料的共享。類...