// 单例.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <string>
using namespace std;
class CGameMgr
{
public:
~CGameMgr();
//4.静态单例接口
static CGameMgr* getInstance(){
if (nullptr == m_spGameMgr)
{
m_spGameMgr = new CGameMgr(); //只创建一个对象
}
return m_spGameMgr;
}
private:
CGameMgr(); //1.构造函数私有
private:
static CGameMgr* m_spGameMgr; //2.静态指针:用于保存一次创建的对象
int m_nState;
};
CGameMgr* CGameMgr::m_spGameMgr = nullptr; //3.将定义的指针置空(创建内存)
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
//CGameMgr* pGameMgr1 = CGameMgr::getInstance(); //会报错,因为单例模式只能创建一个对象
//访问方式
//将g_pGameMgr 改成 CGameMgr::getInstance() 即可
}
【C++实现】单例
最新推荐文章于 2024-05-19 17:18:13 发布