单例模式结构图
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
其中:
Singleton指定一个Instance操作,允许客户访问它的唯一实例,Instance是一个类可能负责创建它自己的唯一实例。
应用举例
#include <iostream>
using namespace std;
// 单例
class Singleton
{
public:
//获取单例的接口
static Singleton* GetInstance()
{
m_pSingleton = new Singleton;
return m_pSingleton;
}
void GetData()
{
cout << "GetData" << endl;
}
private:
// 构造函数(被保护)
Singleton() {}
private:
static Singleton *m_pSingleton; // 指向单例对象的指针
};
//初始化静态变量
Singleton *Singleton::m_pSingleton = nullptr;
int main()
{
Singleton::GetInstance()->GetData();
getchar();
return 0;
}