十七、單例模式

單例模式(Singleton) 保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。

//Singleton.h
#ifndef _SINGLETON_H_
#define _SINGLETON_H_
class Singleton
{
private:
	Singleton(){};
	static Singleton* _instance;
public:
	static Singleton* GetInstance()
	{
		if (_instance==0)
		{
			_instance = new Singleton();
		}
		return _instance;
	}
};
Singleton* Singleton::_instance= 0;
#endif

//main.cpp
#include "Singleton.h"
#include <iostream>
using namespace std;
int main()
{
	Singleton* s1 = Singleton::GetInstance();
	Singleton* s2 = Singleton::GetInstance();
	if (s1==s2)
	{
		cout<<"two instances are same.."<<endl;
	}
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章