C++单件模版类
我们在工作中往往会用到单件类。但是我们知道单件类的实现就那么几步,如果系统中有多个单件类的话,去一个个写非常麻烦,那么怎么办呢?
单件模版类就派上用场了:
//// 编译器自动加上的前向声明.//class CDataMgr;//// 用 CDataMgr 实例化的单件基类.//class Singleton<CDataMgr>{public:// ...static CDataMgr& GetInstance(){// ...return *m_psInstance;}private:static CDataMgr*m_psInstance;};CDataMgr* Singleton<CDataMgr>::m_psInstance = 0;//// 编译器处理后的类 CDataMgr.//class CDataMgr : public Singleton<CDataMgr>{public:// ...void SaveData();};