C++设计模式之单例模式(改编自C++设计模式)

来源:互联网 发布:mysql书籍推荐知乎 编辑:程序博客网 时间:2024/06/05 11:20

单例模式

通过维护一个 static 的成员变量来记录这个唯一的对象实例。通过提供一个 staitc 的接口 instance 来获得这个唯一的实例。

Singleton 不可以被实例化,因此我们将其构造函数声明为 protected 或者直接声明为 private。

GOOD:保证一个类仅有一个实例,并提供一个访问它的全局访问点

Pic:

Code:

#include <iostream>#include <string>using namespace std;class Singleton{public:static Singleton* Instance();protected://or privateSingleton(){};private:static Singleton* _instance;};Singleton* Singleton::_instance = 0;Singleton* Singleton::Instance(){if (_instance == 0){_instance = new Singleton();}return _instance;}int main(int argc, char* argv[]){Singleton* sgn = Singleton::Instance();return 0;}


0 0
原创粉丝点击