zoukankan      html  css  js  c++  java
  • SingleTon Pattern

     1 #ifndef _SINGLETON_H_
     2 #define _SINGLETON_H_
     3 
     4 #include <iostream>
     5 using namespace std;
     6 
     7 class Singleton
     8 {
     9  public:
    10     static Singleton* Instance();
    11 
    12  protected:
    13     Singleton();
    14 
    15  private:
    16     static Singleton* _instance;
    17 }
    18 
    19 #endif
    Singleton.h
     1 #include "Singleton.h"
     2 
     3 #include <iostream>
     4 using namespace std;
     5 
     6 Singleton* Singleton::_instance = 0;
     7 Singleton::Singleton()
     8 {
     9   cout<<"Singleton...."<<endl;
    10 }
    11 
    12 Singleton* Singleton::Instance()
    13 {
    14   if(_instance == 0)
    15        _instance = new Singleton();  
    16   
    17   return _instance;  
    18 }
    Singleton.cpp

    注:Singleton不可以被实例化,因此将其构造函数声明为protected或者直接声明为private。

  • 相关阅读:
    My SQL
    弹窗
    DBDA
    ThinkPHP验证码与文件上传
    ThinkPHP表单验证
    ThinkPHP增删改
    ThinkPHP模型(查询)
    ThinkPHP跨控制器调用方法
    Superset安装
    Presto资源组配置
  • 原文地址:https://www.cnblogs.com/programmer-wfq/p/4648340.html
Copyright © 2011-2022 走看看