单例模式

来源:互联网 发布:广州网络远程教育报名 编辑:程序博客网 时间:2024/06/05 11:02

/****************************
* 文件名:  单例模式
* 创建人:  陈泽丹
* 创建时间:20100907
* 版本:    1.0
****************************/

 

#pragma once
#include <iostream>
#include "Singleton.h"

using namespace std;

class Singleton
{
public:
 static Singleton* getSingleton()
 {
  if( NULL == g_pSingleton)
   g_pSingleton = new Singleton();
  return g_pSingleton;
 }
 static void delSingleton()
 {
  if( NULL != g_pSingleton)
   delete g_pSingleton;
  g_pSingleton = NULL;
 }
 void doSomething() { cout<<"doSomething"<<endl; }
private:
 Singleton(void);
 virtual ~Singleton(void);
 static Singleton* g_pSingleton;
};

 

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

 

#include "Singleton.h"


Singleton* Singleton::g_pSingleton = NULL;

Singleton::Singleton(void)
{
}

Singleton::~Singleton(void)
{
}

 

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

 

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

using namespace std;

void main()
{
 Singleton* pSingleton = Singleton::getSingleton();
 pSingleton->doSomething();
 pSingleton->delSingleton();

 system("pause");
}

原创粉丝点击