设计模式(Singleton)

来源:互联网 发布:淘宝 卖家中心不见了 编辑:程序博客网 时间:2024/05/21 06:31
 

#include <iostream>
using namespace std;

class CSingleton
{
private:
 CSingleton();

public:
 virtual ~CSingleton();

public:
 static CSingleton *GetInstance();

private:
 static CSingleton *s_pSingleton;

};

CSingleton *CSingleton::s_pSingleton = NULL;

CSingleton::CSingleton()
{
}

CSingleton::~CSingleton()
{
 if(CSingleton::s_pSingleton != NULL)
 {
  delete CSingleton::s_pSingleton;
  CSingleton::s_pSingleton = NULL;
 }
}

CSingleton *CSingleton::GetInstance()
{
 if(CSingleton::s_pSingleton == NULL)
 {
  CSingleton::s_pSingleton =  new CSingleton();
 }

 return CSingleton::s_pSingleton;
}

void main()
{
 for(int i = 0; i < 10; i++)
 {
  CSingleton *pSingleton = CSingleton::GetInstance();
  cout<<i<<"/t"<<pSingleton<<endl;
 }
}

原创粉丝点击