1.什么是单例模式
单例模式是一种非常常用的设计模式,几乎在稍大的工程项目中都会用到。单例类保证在全局中只有唯一一个类的实例对象,并且在类的内部提供了获取这个唯一实例的接口。在类中,实例化出一个对象需要调用构造函数,为了防止在类的外部调用构造函数构造出实例,对类的构造函数就应有所限制,可以将构造函数的访问权限设置为private或protected。还要提供一个访问实例的接口,在类中定义一个static函数,返回类内部唯一的实例对象即可。
2.构造一个实例类
class Singleton
{
private:
Singleton() //构造函数声明为私有的
:_a(0)
{}
//防拷贝
Singleton(const Singleton&);
Singleton& operator=(const Singleton&);
public:
static Singleton* GetInstance() //声明一个静态类型的接口来获取实例
{
if (_inst == NULL)
{
_inst = new Singleton();
}
return _instance;
}
private:
int _a;
//指向实例的指针定义为静态私有,这样定义静态成员函数获取对象实例
static Singleton* _instance;
};
Singleton* Singl