使用单例模式的优点就是可以全局共享一些参数或者对象,而且降低的类与类之间耦合性。比如有一个参数在不同的类中都要使用到,这时用单例是很方便的。
头文件如下signlepara.h
#ifndef SINGLEPARA_H
#define SINGLEPARA_H
#include <QtGui>
class SinglePara
{
public:
int single; //共享的变量
static SinglePara* getSinglePara();
private:
SinglePara();
static SinglePara *single;
};
#endif // SINGLEPARA_H
源文件如下singlepara.cpp
#include "singlepara.h"
SinglePara *SinglePara::single = 0;
SinglePara::SinglePara()
{
}
//用来返回单例类的对象
SinglePara* SinglePara::getSinglePara()
{
if(single == 0)
{
single = new SinglePara();
}
return single;
}
这样的在不同的类之中要使用single这个参数只要
SinglePara *sin = SinglePara::getSinglePara();
qDebug()<<sin->single;