qt 单例类 写成.h和.cpp格式 并调用
时间: 2024-03-21 11:39:34 浏览: 57
好的,这是一个简单的 Qt 单例类的示例代码,包含 .h 和 .cpp 文件。这个类只有一个成员变量和一个成员函数,用于输出一句话。
Singleton.h 文件:
```cpp
#ifndef SINGLETON_H
#define SINGLETON_H
#include <QObject>
class Singleton : public QObject
{
Q_OBJECT
public:
static Singleton* getInstance();
void sayHello();
private:
Singleton(QObject *parent = nullptr);
static Singleton* m_instance;
};
#endif // SINGLETON_H
```
Singleton.cpp 文件:
```cpp
#include "Singleton.h"
Singleton* Singleton::m_instance = nullptr;
Singleton::Singleton(QObject *parent)
: QObject(parent)
{
}
Singleton* Singleton::getInstance()
{
if (m_instance == nullptr)
{
m_instance = new Singleton;
}
return m_instance;
}
void Singleton::sayHello()
{
qDebug() << "Hello, I am a singleton!";
}
```
在需要使用该单例类的地方,可以通过 Singleton::getInstance() 获取单例对象,然后调用对象的成员函数。例如:
```cpp
Singleton* singleton = Singleton::getInstance();
singleton->sayHello();
```
这样就可以输出一句话:"Hello, I am a singleton!"
阅读全文