singleton.h
#pragma once #include <QDebug> class CSingleTon { public: static CSingleTon* instance(); static void releaseInstance(); QString getName() const; QString getAge() const; bool getJJ() const; protected: CSingleTon(); };
singleton.cpp
#include "singleton.h" CSingleTon* CSingleTon::instance() { static CSingleTon* _instance = 0; if (!_instance) { _instance = new CSingleTon; } return _instance; } void CSingleTon::releaseInstance() { CSingleTon* _instance = instance(); if (_instance) { delete _instance; } } CSingleTon::CSingleTon() { } QString CSingleTon::getName() const { return "Lili"; } QString CSingleTon::getAge() const { return "23"; } bool CSingleTon::getJJ() const { return false; }
main.cpp
#include <QApplication> #include "singleton.h" int main(int argc,char **argv) { QApplication app(argc,argv); QString name = CSingleTon::instance()->getName(); QString age = CSingleTon::instance()->getAge(); bool bjj = CSingleTon::instance()->getJJ(); CSingleTon::releaseInstance(); return app.exec(); }
|