首页 > 代码库 > C++单例模式
C++单例模式
设计模式是编程的重点,往往在面试时都会考查,而单例模式是最为简单、最为常见、也最该掌握的模式。所以面试时对设计模式的考查考的最多的就是单例模式。
下面我们就来看看单例模式如何实现(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++单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。