您的位置:首页 > 编程语言 > C语言/C++

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

2014-09-10 08:07 288 查看
单件模式

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

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

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

一个单件的示例:

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: