BohYoh.comトップページへ
C & C++ FAQ
目次

C++ あるクラス型のオブジェクトがいくつ存在するかを調べる方法を教えてください。

 クラスの中に、現在のオブジェクトの個数を格納するための変数を、静的データメンバとして用意すればよいでしょう。
 プログラム例を以下に示します。
X型のオブジェクトは現在3個あります。
X型のオブジェクトは現在2個あります。

#include <iostream> class X{ static int count; // … public: X() { count++; /* … */ } ~X() { count--; /* … */ } static void put_count(void) { cout << "X型のオブジェクトは現在" << count << "個あります。\n"; } }; int X::count = 0; int main(void) { X a, b; { X c; X::put_count(); // a, b, cの三つが存在 } X::put_count(); // a, bの二つが存在 return (0); }



■ 根拠 ■
標準C++ §9.4.2 Static data members

戻る

BohYoh.comロゴ