何時初始化靜態 C++ 類成員?
可以使用 static 關鍵字來定義靜態 C++ 類成員。類中的靜態成員由所有類物件共享,因為在記憶體中有且只有一份靜態類成員的副本,無論類的物件數量有多少。
如果未透過其他方式初始化,當建立類的第一個物件時,靜態類成員將初始化為零。
以下是一個在 C++ 中演示靜態類成員的程式。
示例
#include <iostream> using namespace std; class Example { public : static int a; int func() { cout << "The value of static member a: " << a; } }; int Example::a = 20; int main() { Example obj; obj.func(); return 0; }
輸出
以上程式的輸出如下所示。
The value of static member a: 20
現在讓我們瞭解一下上述程式。
在 Example 類中,靜態類成員為 a。func() 函式顯示 a 的值。顯示此內容的程式碼段如下所示。
class Example { public : static int a; int func() { cout << "The value of static member a: " << a; } }; int Example::a = 20;
在 main() 函式中,建立了 Example 類的 obj 物件。然後呼叫 func() 函式,顯示 a 的值。顯示此內容的程式碼段如下所示。
int main() { Example obj; obj.func(); return 0; }
廣告