静的メンバ

static-member.png

クラスの一部ではあるが、クラスのオブジェクトの一部ではない変数のこと。

通常の非staticメンバは、一つのオブジェクトに一つずつ確保される。
staticメンバは(そのクラスのインスタンスを何個作ろうと)クラスに一つしか作られない。
同様に、クラスのメンバにはアクセスするが、クラスの特定のオブジェクトを対象として呼び出す必要のない関数は、staticメンバ関数と呼ばれる。

静的メンバ変数を宣言した場合、その実体の定義をクラス定義の外側に記述しなくてはならない。
こんなかんじでいい。

//Miffy.h
class Miffy{
static int m;
};
//miffy.cpp
Miffy::m=10;//定義する

サポートサイト Wikidot.com