跳轉到內容

C++ 程式設計

來自 Wikibooks,開放世界中的開放書籍

靜態資料成員

[編輯 | 編輯原始碼]

在資料成員中使用 static 修飾符,將導致該成員被所有擁有類的例項以及派生類共享。 要使用靜態資料成員,必須將資料成員宣告為 static,並在類宣告之外、檔案作用域中對其進行初始化。

當在類資料成員中使用時,該類的所有例項將共享該變數的一個副本。

class Foo {
public:
  Foo() {
    ++iNumFoos;
    cout << "We have now created " << iNumFoos << " instances of the Foo class\n";
  }
private:
  static int iNumFoos;
};

int Foo::iNumFoos = 0;  // allocate memory for numFoos, and initialize it

int main() {
  Foo f1;
  Foo f2;
  Foo f3;
}

在上面的示例中,靜態類變數 numFoos 在 Foo 類的所有三個例項 (f1f2f3) 之間共享,並跟蹤 Foo 類被例項化的次數。

華夏公益教科書