#include <iostream>
using namespace std;
class Singleton
{
private:
static Singleton* st;
//static Singleton* st = NULL; //错误
Singleton(){}
public:
static Singleton* getInstance()
{
if (st == NULL)
{
st = new Singleton();
}
return st;
}
void show()
{
cout << st << endl;
}
};
Singleton* Singleton::st = NULL; //正确,只能在类外初始化,如若不在此初始化会报连接错误
int main()
{
//Singleton* Singleton::st = NULL; //错误
Singleton* st = Singleton::getInstance();
Singleton* st1 = Singleton::getInstance();
if (st == st1)
{
cout << "两个对象是相同的实例。" << endl;
}
return 0;
}
c++ 单例模式 private 成员初始化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.