#include <iostream>
#include <string>
using namespace std;
//单例模式:单例模式确保某一个类只有一个实例,
//而且自行实例化并向整个系统提供这个实例单例模式
//单例模式只应在有真正的“单一实例”的需求时才可使用。
//#define public private 解除单例模式
class Singleton
{
private:
int i;
static Singleton *instance;
Singleton(int i)
{
this->i = i;
}
public:
static Singleton *getInstance()
{
return instance;
}
void show()
{
cout << i << endl;
}
};
Singleton* Singleton::instance = new Singleton(8899);
class A :public Singleton
{};
int main() //单例模式的应用场景,只能打开一个迅雷,迅雷就是应用的单例模式
{
Singleton *s = Singleton::getInstance();
Singleton *s2 = A::getInstance();
cout << (s == s2) << endl;
cin.get();
return 0;
}
单例模式
最新推荐文章于 2022-04-09 15:17:44 发布