写一个单例模式的类 用c++
以下是一个使用C++实现的单例模式类的例子:
class Singleton {
private:
Singleton() {} // 将构造函数设为私有,禁止外部实例化对象
static Singleton* instance; // 唯一实例的指针
public:
static Singleton* getInstance() {
if (instance == nullptr) {
instance = new Singleton();
}
return instance;
}
void showMessage() {
std::cout << "Hello, World!" << std::endl;
}
};
Singleton* Singleton::instance = nullptr; // 初始化静态成员变量
int main() {
Singleton* instance1 = Singleton::getInstance();
instance1->showMessage();
Singleton* instance2 = Singleton::getInstance();
instance2->showMessage();
return 0;
}
在上面的例子中,我们定义了一个名为Singleton的类,它只能创建一个唯一的实例。构造函数被声明为私有,因此外部无法直接实例化对象。为了获取该类的实例,我们提供了一个静态成员函数getInstance(),它在首次调用时创建唯一的实例,并在后续调用时返回该实例。这种方式可以确保只有一个实例存在。
在main()函数中,我们通过Singleton::getInstance()来获取Singleton类的实例,并调用其成员函数showMessage()来输出信息。注意,instance1和instance2是同一个实例,这证明了单例模式确保了只有一个实例存在
原文地址: http://www.cveoy.top/t/topic/iyQ9 著作权归作者所有。请勿转载和采集!