简单说说,一个类有且只有一个实例,这就是单例模式。
下面是最核心的部分:
class Singleton{
private: static Singleton* _uniqueInstance;
private: Singleton( const Singleton& ); // 禁止复制构造函数
private: void operator=( const Singleton& ); //禁止赋值运算符
private: Singleton() {
}
private: ~Singleton() {
_uniqueInstance = 0;
}
public: static Singleton* getInstance() {
if( _uniqueInstance == 0 ) {
std::cout << "创建一个实例" << std::endl;
_uniqueInstance = new Singleton();
}
std::cout << "返回singleton的实例"<< std::endl;
return _uniqueInstance;
}