20170724_C++单例模式

来源:互联网 发布:推荐好看的小说知乎 编辑:程序博客网 时间:2024/06/16 12:06

20170724_C++单例模式

设计模式:单例模式
特点:保证只有一个实例,并提供一个访问它的全局访问点
线程不安全的单例模式:需要加锁机制

//设计模式:单例模式//特点:保证只有一个实例,并提供一个访问它的全局访问点//线程不安全的单例模式:需要加锁机制#include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;class Singleton{private:int i;Singleton(int x):i(x) {}//构造函数:私有类型,外界不可访问!!!void operator=(Singleton &);//赋值操作函数:不允许赋值!Singleton(const Singleton &);//拷贝构造函数:不允许拷贝!public:static Singleton &instance()//返回一个实例的引用:类的对象{static Singleton s(47);return s;}int getValue()//取值{return i;}void setValue(int x)//重新赋值{i=x;}};int main(void){Singleton & s = Singleton::instance();//构造函数是私有类型,不可访问,故有使用的是:引用cout<<s.getValue()<<endl;//47Singleton & s2=Singleton::instance();cout<<s2.getValue()<<endl;//47s2.setValue(20);cout<<s2.getValue()<<endl;//20cout<<s.getValue()<<endl;//20system("pause");return 0;}




原创粉丝点击