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");
}