【发布时间】:2013-06-24 09:15:13
【问题描述】:
我有一个像这样的单例类:
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 ( ) 是一个静态函数,我无法从中访问成员变量,也无法将这些变量设为静态。
那么我该如何实现呢?
【问题讨论】:
-
我不是 C++ 专家,但你不能在调用构造函数后做
singleton.member = new whatever;吗?