在C++類中,由static定義的(靜態)數據成員 和 (靜態)函數成員屬於類;相反沒有被static定義的成員和函數稱為實例數據成員和實例函數成員,他們屬於某一個實例(對象)。 在記憶體中,類的靜態數據成員占有一塊特定的記憶體空間,被該類的所有實例(對象)共用。而同一個類的不同對象的實例數據成員相互獨 ...
在C++類中,由static定義的(靜態)數據成員 和 (靜態)函數成員屬於類;相反沒有被static定義的成員和函數稱為實例數據成員和實例函數成員,他們屬於某一個實例(對象)。
在記憶體中,類的靜態數據成員占有一塊特定的記憶體空間,被該類的所有實例(對象)共用。而同一個類的不同對象的實例數據成員相互獨立,占有各自的存儲空間。
定義類後,必須在類外的文件作用域中定義靜態數據成員,即為它們分配存儲空間。
在程式中可以直接使用類名和域解析操作符::直接訪問類的共有靜態數據成員和共有函數成員,不能直接訪問類的私有成員。
不能在類的構造函數中初始化靜態數據成員,因為靜態數據成員不屬於某一個具體的類。
在類的靜態函數成員中,只能訪問類的靜態數據成員,而不能訪問類的實例數據成員,因為在調用靜態函數成員時,可能還沒有創建類的具體實例(對象)。