C++辛格尔顿
设计模式是编程的焦点。经常在面试时进行审查,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类型可以被实例化一次。
版权声明:本文博客原创文章,博客,未经同意,不得转载。