#include <iostream>
using namespace std;
class Singleton
{
public:
//提供访问单例的公共接口
static Singleton& Singleton::getInstance()
{
static Singleton s; //静态变量保证只有一个实例
//这样写还有一个好处就是直到用户调用
//getInstance函数才会生成第一个实例
return s;
}
private:
//构造、拷贝构造、赋值函数私有化,防止其他实例的生成
Singleton(){};
Singleton(Singleton& other);
Singleton& operator=(Singleton &other);
};
int main()
{
Singleton& s1 = Singleton::getInstance();
printf("%p\n", &s1);
Singleton& s2 = Singleton::getInstance();
printf("%p\n", &s2);
//Singleton s3; //报错
//Singleton s4 = s1; //报错
return 0;
}
单例模式的C++实现
最新推荐文章于 2023-02-25 15:46:19 发布