C++单例模式在Qt编程中的使用


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

头文件如下signlepara.h

  1. #ifndef SINGLEPARA_H   
  2. #define SINGLEPARA_H   
  3.   
  4. #include <QtGui>   
  5. class SinglePara  
  6. {  
  7. public:  
  8.     int single; //共享的变量   
  9.     static SinglePara* getSinglePara();  
  10. private:  
  11.     SinglePara();  
  12.     static SinglePara *single;  
  13. };  
  14.   
  15. #endif // SINGLEPARA_H  

源文件如下singlepara.cpp

  1. #include "singlepara.h"   
  2. SinglePara *SinglePara::single = 0;  
  3. SinglePara::SinglePara()  
  4. {  
  5. }  
  1. //用来返回单例类的对象   
  2. SinglePara* SinglePara::getSinglePara()  
  3. {  
  4.     if(single == 0)  
  5.     {  
  6.         single = new SinglePara();  
  7.     }  
  8.     return single;  
  9. }  

这样的在不同的类之中要使用single这个参数只要

  1. SinglePara *sin = SinglePara::getSinglePara();  
  2. qDebug()<<sin->single;  

相关内容