#include <iostream>
class Singleton {
public:
// 获取单例实例的静态方法
static Singleton& getInstance() {
// 如果实例为空,则创建一个新实例
if (instance == nullptr) {
instance = new Singleton();
}
return *instance;
}
// 删除拷贝构造函数和赋值运算符重载,防止复制实例
Singleton(const Singleton&) = delete;
Singleton& operator=(const Singleton&) = delete;
// 示例方法
void someMethod() {
std::cout << "Singleton Method Called" << std::endl;
}
private:
// 将构造函数设为私有,防止外部创建实例
Singleton() {}
// 单例实例指针
static Singleton* instance;
};
// 静态成员变量初始化
Singleton* Singleton::instance = nullptr;
int main() {
// 获取单例实例并调用示例方法
Singleton& singleton = Singleton::getInstance();
singleton.someMethod();
return 0;
}
04-07
07-10
238
12-28
1038