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();
}