c++编写代码实现单例模式
时间: 2023-09-12 22:09:49 浏览: 95
C++ 单例模式的几种实现方式研究
5星 · 资源好评率100%
好的,关于实现单例模式的问题,以下是一个简单的 C++ 代码示例:
```
// Singleton.h
class Singleton {
public:
static Singleton* getInstance();
// 将构造函数和析构函数设为 private,确保不能通过实例化对象来访问它们
private:
Singleton();
~Singleton();
static Singleton* instance; // 静态变量,用于保存单例实例的指针
};
// Singleton.cpp
Singleton* Singleton::instance = nullptr;
Singleton::Singleton() {}
Singleton::~Singleton() {}
Singleton* Singleton::getInstance() {
if (instance == nullptr) {
instance = new Singleton();
}
return instance;
}
```
通过将构造函数和析构函数设为 private,除了在类内部,无法通过实例化对象来访问它们,从而实现了单例模式。同时,使用静态变量 instance 来保存单例实例的指针,在第一次调用 getInstance() 方法时创建单例实例,并在以后的每次调用中返回该实例的指针。
阅读全文