使用单例模式的优点就是可以全局共享一些参数或者对象,而且降低的类与类之间耦合性。比如有一个参数在不同的类中都要使用到,这时用单例是很方便的。
头文件如下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;