#include<iostream>
using namespace std;
class Singleton
{
public:
static Singleton& instance(){return s;};//返回一个引用而不是指针,是因为用户可能不小心删除指针
int getValue(){return i;};
void setValue(int x){i=x;};
private:
static Singleton s;
int i;
Singleton(int x):i(x){};//不允许构造函数
Singleton& operator=(Singleton&);//不允许赋值
Singleton(const Singleton&); //不允许拷贝
};
Singleton Singleton::s(47);
int main()
{
Singleton &s=Singleton::instance();
cout<<s.getValue()<<endl;
Singleton &s2=Singleton::instance();
s2.setValue(9);
cout<<s.getValue()<<endl;
return 0;
}
C++单例模式
最新推荐文章于 2025-05-23 19:33:43 发布
1234

被折叠的 条评论
为什么被折叠?



