使用單例模式的優點就是可以全局共享一些參數或者對象,而且降低的類與類之間耦合性。比如有一個參數在不同的類中都要使用到,這時用單例是很方便的。
頭文件如下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;