/****************************
* 文件名: 单例模式
* 创建人: 陈泽丹
* 创建时间: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");
}