C++ 程式設計
外觀
在資料成員中使用 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 類的所有三個例項 (f1、f2 和 f3) 之間共享,並跟蹤 Foo 類被例項化的次數。