私はこのようなシングルトンクラスを持っています:
myClass.h
class myClass
{
private:
static myClass *singleton;
myClass ( myClass const& );
myClass& operator = ( myClass const& );
myClass ( );
public:
static myClass* Instance ( );
~myClass ( );
};
myClass.cpp
myClass::myClass ( ) { };
myClass* myClass::singleton = NULL;
myClass* myClass::Instance ( )
{
if ( !singleton )
{
singleton = new myClass;
// Initialization
}
return singleton;
};
myClass::~myClass ( )
{
// Cleanup
};
ここで、オブジェクト インスタンスが返される前に初期化を行い、デストラクタでクリーンアップを行う必要があります。myClass* myClass::Instance ( ) は静的関数であるため、そこからメンバー変数にアクセスすることはできず、それらの変数を静的にすることもできません。
どうすればそれを達成できますか?