1、理解:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式(不能让一个程序打开两次 如:不能同时打开2个迅雷 迅雷用的单例模式)
2、下面内容转载来自 http://blog.youkuaiyun.com/wuzhekai1985
单例的一般实现比较简单,下面是代码和UML图。由于构造函数是私有的,因此无法通过构造函数实例化,唯一的方法就是通过调用静态函数GetInstance。
UML图:
//Singleton.h
class Singleton
{
public:
static Singleton* GetInstance();
private:
Singleton() {}
static Singleton *singleton;
};
//Singleton.cpp
Singleton* Singleton::singleton = NULL;
Singleton* Singleton::GetInstance()
{
if(singleton == NULL)
singleton = new Singleton();
return singleton;
}