/***********************************************
* 【创建型】 之 单件模式
*
*
*摘自c++ 编程思想 第2卷 384页 2010-12-30
************************************************/
#include <iostream>
using namespace std;
class Singleton
{
private:
static Singleton s;
int i;
Singleton (int x):i(x) { };
Singleton& operator=(Singleton&); //disabled
Singleton (const Singleton&); //disabled
public:
static Singleton &instance(){
return s;
}
int getValue(){
return i;
}
void setValue(int x){
i =x;
}
}
Singleton::s(47);
int main(){
Singleton& s = Singleton::instance();
cout <<s.getValue()<<endl;
Singleton& s2 = Singleton::instance();
s2.setValue(9);
cout << s.getValue()<<endl;
}