類靜態資料成員的定義及初始化

2021-08-10 20:55:34 字數 748 閱讀 9028

#include

using namespace std;

/*在 c++中,靜態成員是屬於整個類的而不是某個物件,靜態成員變數只儲存乙份供所有

物件共用。所以在所有物件中都可以共享它。使用靜態成員變數實現多個物件之間的資料共

享不會破壞隱藏(相比全域性變數的優點)的原則,保證了安全性還可以節省記憶體。

類的靜態成員,屬於類,也屬於物件,但終歸屬於類。

*///中國校園設計的「一塔湖圖」 

class school

public:

string tower;

string lake;

/*4.string aaa;

新增這個後sizeof(a)=12 

static 成員類外儲存,求類大小,並不包含在內 

*/ //1.宣告: static 資料型別 成員變數; //在類的內部

static string lib;

};/*

2.初始化:資料型別 類名::靜態資料成員 = 初值; 在類的外部

static 成員使用時必須初始化,且只能類外初始化。

*/string school::lib = "beijing lib:";

int main()

/*輸出:

8 8 8 8

china lib: 

china lib: 

china lib: 

china lib: mao xuan 

*/

類的靜態資料成員宣告 定義 初始化

在c 中,類的靜態成員 static member 必須在類內宣告,在類外初始化,像下面這樣。class a int a count 0 類外初始化,不必再加static關鍵字 為什麼?因為靜態成員屬於整個類,而不屬於某個物件,如果在類內初始化,會導致每個物件都包含該靜態成員,這是矛盾的。能在類中初...

C 靜態成員資料 定義 初始化

由於記憶體的空間有限,我們常常關心已經使用掉了多少記憶體空間。如果我們修改上一章的鍊錶程式 程式15.5 要能計算出整個程式一共產生了多少鍊錶結點,我們該怎麼做呢?顯然,我們需要乙個計數器。每產生乙個結點,計數器就加一 每消除乙個結點,計數器就減一。由於結點的產生和消除只會與鍊錶類或結點類的某些成員...

有關類的靜態成員初始化

有四個檔案 class.h,class.cpp,fun.h,fun.cpp 1.第一種情況 class.h include class c class.cpp include class.h int main class.h 5 error iso c forbids in class initia...