一、意图:
保证一个类仅有一个实例,并提供一个全局的访问点。
二、类图:
三、组成元素:
Singleton:需要提供唯一实例;构造函数要为private;
四、代码实现:
#include "iostream" using namespace std; class Singleton { private: static Singleton* uniqueInstance; private: Singleton() { } public: static Singleton* GetInstance() { if (uniqueInstance==NULL) { uniqueInstance=new Singleton(); return uniqueInstance; } else return uniqueInstance; } void sayHello() { cout<<"Singleton Created"<<endl; } }; Singleton* Singleton::uniqueInstance=NULL; //初始化 void main() { Singleton* singleton=Singleton::GetInstance(); singleton->sayHello(); }