Singleton (C++实现)

// Singleton.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>

using namespace std;


class Singleton
{
public:
 Singleton(){}
 virtual ~Singleton(){}

 

 static Singleton* GetInstancePtr()
 {
  if(NULL==m_pStatic)
  {
   m_pStatic=new Singleton();
  }
  return m_pStatic;
 }

 

 

 static  Singleton GetInstance()
 {
  return *GetInstancePtr();
 }

 

 

 void test()
 {
  cout<<"Singleton patton test!"<<endl;
 
 }

 

private:
 static Singleton * m_pStatic;

};

 

Singleton * Singleton::m_pStatic=NULL;


/////////////////////////////////////////////


int _tmain(int argc, _TCHAR* argv[])
{
 Singleton::GetInstancePtr()->test();
 Singleton::GetInstance().test();
 return 0;
}

 

posted on 2011-05-23 10:17  IT@民工  阅读(127)  评论(0编辑  收藏  举报

导航