作为设计模式中最简单、最常见、最容易实现,但也是最应该熟悉和掌握的模式,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;
};
#endif
singleton.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;
}