設計模式—單例模式

1. 類圖

 

   

 

 

2. 示例代碼

 

//單實例模式
//注意static變量的初始化位置

#include <iostream>
using namespace std;

class Singleton
{
private:
	static Singleton* sington;	//唯一的實例
public:
	Singleton(){}
	//返回單個實例
	static Singleton* getSington()
	{
		if(sington==NULL)
		{
			sington=new Singleton();//若實例不存在則創建一個
			cout<<"創建一個新的實例!"<<endl;
		}
		else
		{
			cout<<"實例已經存在!"<<endl;
		}
		return sington;
	}
};

Singleton* Singleton::sington=NULL;


int main()
{
	Singleton*  sington1=Singleton::getSington();
	Singleton*  sington2=Singleton::getSington();

	return 0;
}


 

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