何時初始化靜態 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;
}

更新於:2020 年 6 月 26 日

瀏覽 435 次

開啟您的職業生涯

完成課程以獲得認證

開始學習
廣告