码迷,mamicode.com
首页 > 编程语言 > 详细

C++辛格尔顿

时间:2015-08-18 15:53:47      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

设计模式是编程的焦点。经常在面试时进行审查,Singleton模式是最简单的、最常见的、大部分的主模式。所以大部分的采访是测试考试的Singleton设计模式。

以下我们就来看看单例模式怎样实现(C++代码):

#include<iostream>
using namespace std;

class Singleton {
	public:
		static Singleton* Instance();
	protected:
		Singleton();
	private:
		static Singleton* _instance; 
};

Singleton* Singleton::_instance=0;
	
Singleton::Singleton()
{
		cout<<"Singleton..."<<endl;	
};
		
Singleton*Singleton::Instance()
{
		if (_instance==0) 
		{
			_instance=new Singleton();
		}
		return _instance;
}

int main(int argc,char* argv[])
{
	Singleton* sgn=Singleton::Instance();
		
	return 0;
}
当中,Singleton类型的构造函数必须是protected的,保证该类型不可被实例化,静态成员函数Instance则用来实例化该类型。由于该函数是静态,所以每次调用都是同一个实例。这确保了Singleton类型可以被实例化一次。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

C++辛格尔顿

标签:

原文地址:http://www.cnblogs.com/hrhguanli/p/4739386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!