类型1:
classA.h
#include <QObject>
class classA : public QObject
{
Q_OBJECT
public:
static classA* instance(){static classA m_classA; return &m_classA;}
~classA();
private:
explicit classA();//explicit classA(QObject *parent = 0);
}
类型2:
classA.h
#include <QObject>
class classA : public QObject
{
Q_OBJECT
public:
static classA* instance();
~classA();
private:
explicit classA();//explicit classA(QObject *parent = 0);
private:
static classA *m_classA;
}
classA.cpp
classA* classA::m_classA = new classA;
classA classA* instance()
{
return m_classA;
};
类型3:
classA.h
#include <QObject>
class classA : public QObject
{
Q_OBJECT
public:
static classA* instance();
~classA();
private:
explicit classA();//explicit classA(QObject *parent = 0);
private:
static classA *m_classA;
}
classA.cpp
classA* classA::m_classA = NULL;
classA classA* instance()
{
if(NULL == m_classA)
m_classA = new classA;
return m_classA;
};
类型4:
classA.h
#include <QObject>
class classA : public QObject
{
Q_OBJECT
public:
static classA* instance();
~classA();
private:
explicit classA();//explicit classA(QObject *parent = 0);
}
classA.cpp
classA classA* instance()
{
static classA m_classA;return &m_classA;
};