zoukankan      html  css  js  c++  java
  • 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类型可以被实例化一次。

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

  • 相关阅读:
    Spring AOP原理
    Spring Boot引入Oracle Jar
    Cookie
    资源验证
    HTTP各种特性
    高性能网络编程之IO和NIO阻塞分析
    Http协议基础及发展历史
    Http原理与实践
    设计模式-回顾
    http://jingyan.baidu.com/article/fcb5aff78e6a48edab4a7146.html
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4739386.html
Copyright © 2011-2022 走看看