class Singleton
{
private:
static Singleton* instance;
Singleton(){
}
public:
static Singleton* GetInstace()
{
if (NULL == instance)
{
instance = new Singleton();
}
return instance;
}
};
定義靜態成員:(1)可以在類的內部,外部定義靜態成員函數。當在類的外部定義靜態成員時候,不能重複static關鍵字,該關鍵字只能出現在類的內部的聲明語句中;
#include <iostream>
using namespace std;
/************************************************************************/
/* 單例模式:保證一個類僅有一個實例 */
/************************************************************************/
class Singleton
{
private:
static Singleton* instance;
Singleton(){
}
public:
static Singleton* GetInstace()
{
if (NULL == instance)
{
instance = new Singleton();
}
return instance;
}
};
Singleton* Singleton::instance = Singleton::GetInstace();
void main()
{
Singleton* instance1 = Singleton::GetInstace();
Singleton* instance2 = Singleton::GetInstace();
if (instance1 == instance2)
{
cout << "同一個實例" << endl;
}
system("Pause");
}