qt单例模版类
时间: 2023-07-05 09:11:21 浏览: 106
Qt 5.15的字母G开头的类的功能介绍
在Qt中,可以使用模板类来实现单例模式。下面是一个简单的Qt单例模板类实现:
```cpp
template<typename T>
class Singleton
{
public:
static T& instance()
{
static T instance;
return instance;
}
protected:
Singleton() = default;
~Singleton() = default;
Singleton(const Singleton&) = delete;
Singleton& operator=(const Singleton&) = delete;
};
```
使用方法如下:
```cpp
class MySingleton : public Singleton<MySingleton>
{
friend class Singleton<MySingleton>;
public:
void doSomething()
{
qDebug() << "MySingleton::doSomething()";
}
private:
MySingleton() = default;
~MySingleton() = default;
};
```
然后,您可以使用 `MySingleton::instance()` 来访问单例对象。例如:
```cpp
MySingleton::instance().doSomething();
```
这种实现方式可以保证单例对象的唯一性和线程安全性。
阅读全文