#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...