单例模式又叫单态模式或者单件模式。保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式中的“单例”通常用来代表那些本质上
具有唯一性的系统组件(或者叫做资源)。比如文件系统、资源管理器等等。
实现的方法 将构造函数设为私有。
单例模式可分为有状态的和无状态的。有状态的单例对象一般也是可变的单例对象,多
个单态对象在一起就可以作为一个状态仓库一样向外提供服务。没有状态的单例对象也就是
不变单例对象,仅用做提供工具函数。
实现:
饿汉式:
class Singleton{
public:
static getInstance(){
return m_Singleton;
}
private:
Singleton()
{
m_Singleton = new Singleton();
}
Singleton* m_Singleton;
};
懒汉式:
Singleton::m_Singleton = Null;
class Singleton{
private:
static Singleton* m_Singleton;
SIngleton(){}
~Singleton()
{
if(NULL ! = m_Singleton)
{
delete m_Singleton;
}
}
public:
static Singleton* getInstance()
{
if(NULL == m_Singleton)
{
m_Singleton = new Singleton();
}
return m_Singleton;
}
};
void main()
{
Singleton *Singleton = NULL;
Singleton = getInstance();
}
//单例模式到些为此,大家多指导批评