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