个人代码如下:
#include <iostream>
#include <string>
using namespace std;
class CSingleton
{
private:
static CSingleton* pObject;
CSingleton(){pObject = NULL; strName = "im Singleton";}
public:
string strName;
static CSingleton* GetStance()
{
if(NULL == pObject)
pObject = new CSingleton();
return pObject;
}
};
CSingleton * CSingleton::pObject = NULL;
int main()
{
CSingleton *objSingleton = CSingleton::GetStance();
cout<< objSingleton->strName <<endl;
return 0;
}
个人实际应用:
由于项目中,要使用xml作为配置文件,并且xml中的内容在整个工程中都会使用到,并且不知道什么时候,什么模块内会使用到。
所以个人想到的办法就是将xml文件抽象成一个单例类(CSingletonXML)。使用xml里面的配置内容的时候,直接CSingletonXML::GetStance()->xxxProperty;