设计模式 - 单件模式 C++

来源:互联网 发布:ubuntu没有汉语输入法 编辑:程序博客网 时间:2024/05/04 00:11
单件模式


单件模式允许一个类有且只有一个对象。


单件模式的关键是防止程序员获得 控制对象生存期的权利。


要对类的默认的构造函数,拷贝构造函数和赋值构造函数的访问权限加以限制。




一个单件的示例:


singleton.h

#ifndef _SINGLETON_H_#define _SINGLETON_H_class singleton{private:static singleton _instance;int _i;singleton(int i) : _i(i) {};singleton& operator = (singleton&);singleton(const singleton&);public:static singleton& instance();int getvalue();void setvalue(int i);};#endif


singleton.cpp


#include "singleton.h"singleton singleton::_instance(0);int singleton::getvalue(){    return _i;}void singleton::setvalue(int i){    _i = i;}singleton& singleton::instance(){return _instance;}


main.cpp


#include <iostream>#include "singleton.h"using namespace std;void main(){int i = 0;singleton &s1 = singleton::instance();cout << s1.getvalue() << endl;s1.setvalue(20);    cout << s1.getvalue() << endl;cin >> i;}




0 0
原创粉丝点击