一.创建型模式 Singleton

  • 通过维护一个 static 的成员变量来记录这个唯一的对象实例。通过提供一个 staitc 的接口 instance 来获得这个唯一的实例。
  • Singleton 不可以被实例化 (私有构造函数

  •  
    #include<iostream>
    #include"singleton.h"
    using namespace std;
    int main() {
        singleton *s = singleton::Instance();
        system("pause");
        return 0;
    }
    main
    #pragma once
    class singleton
    {
    
    public:
        static singleton* Instance();
    private:
        singleton();
        static singleton* _instance;
    protected:
        
        
    };
    singleton.h
    #include "singleton.h"
    #include<iostream>
    using namespace std;
    singleton * singleton::_instance = 0;
    
    
    singleton * singleton::Instance()
    {
        if (_instance == 0)
        {
            _instance = new singleton();
        }
        return _instance;
    }
    
    singleton::singleton()
    {
        cout << "singleton" << endl;
    }
    singleton.cpp

     

posted @ 2018-11-27 09:23  Lumi_Imp  阅读(113)  评论(0编辑  收藏  举报