作为设计模式中最简单、最常见、最容易实现,但也是最应该熟悉和掌握的模式,Singleton模式解决的问题十分常见:我们怎样去创建一个唯一地变量(对象)?
singleton.h:
#ifndef _SINGLETON_H_ #define _SINGLETON_H_ #include <iostream> using namespace std; class Singleton{ public: static Singleton* Instance(); protected: Singleton(); private: static Singleton* _instance; }; #endifsingleton.cpp:
#include "singleton.h" #include <iostream> using namespace std; Singleton* Singleton::_instance=0; Singleton::Singleton(){ cout<<"Singleton..."<<endl; } Singleton* Singleton::Instance(){ if(_instance==0) { _instance=new Singleton(); } return _instance; }main.cpp:
#include "singleton.h" #include <iostream> using namespace std; int main(){ Singleton *sgn=Singleton::Instance(); return 1; }
原文:http://blog.csdn.net/starcuan/article/details/20226959