首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++单件模版种

2012-09-10 
C++单件模版类我们在工作中往往会用到单件类。但是我们知道单件类的实现就那么几步,如果系统中有多个单件类

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();};

这样一来,整个过程就非常容易理解了,这个模版使用起来非常方便。如果非常复杂的系统,还可以加上单件的管理,比如单件类初始化顺序管理、单件类释放顺序管理等等。





热点排行