zoukankan      html  css  js  c++  java
  • 设计模式之实现---单件模式

    /*************************************

    CSingleton.h

    **************************************/

    #pragma  once
    #include <iostream>
    #include <string>
    using namespace std;

    class CSingleton
    {
    private:
     CSingleton(){
      cout<<"new instance created!"<<endl;
     };
     CSingleton(const CSingleton& _copyInst);
    private:
     static CSingleton* g_singleton;

    public:
     //这里是单键模式类的关键
     //我在这里实现的是对象的单件,而不是类的单件。
     //要实现类的单件的话,就必须要把类的成员都变为static.
     static CSingleton* getSingleton(){
      if(!g_singleton)
       g_singleton = new CSingleton();
      return g_singleton;
     }
    };

    /******************************************

    testclass.h

    *******************************************/

    #include "CSingleton.h"
    #include <iostream>
    using namespace std;

    class testSingleton
    {
    public:
     testSingleton(){
      CSingleton::getSingleton();
      cout<<"ok, called!"<<endl;
     }
    };

    /*******************************************

    CSingleton.cpp

    ********************************************/

    #include "CSingleton.h"

    CSingleton* CSingleton::g_singleton = NULL;

    /*******************************************

    testSingleton.cpp

    ********************************************/

    /*
     设计模式: 单件模式
     by 何戬, hejian@cad.zju.edu.cn
    */

    #include <iostream>
    #include "CSingleton.h"
    #include "testclass.h"
    using namespace std;

    int main()
    {
     CSingleton::getSingleton();
     CSingleton::getSingleton();

     //testSingleton newtest;

     return 0;
    }

  • 相关阅读:
    【LibreOJ】#539. 「LibreOJ NOIP Round #1」旅游路线
    【LibreOJ】#541. 「LibreOJ NOIP Round #1」七曜圣贤
    【LibreOJ】#538. 「LibreOJ NOIP Round #1」数列递推
    【Atcoder】ARC084 Small Multiple
    【BZOJ】4430: [Nwerc2015]Guessing Camels赌骆驼
    【NOIP】提高组2013 火柴排队
    OpenCV常用基本处理函数(8)图像变换
    OpenCV常用基本处理函数(7)图像金字塔和直方图
    OpenCV常用基本处理函数(6)图像梯度
    OpenCV常用基本处理函数(5)图像模糊
  • 原文地址:https://www.cnblogs.com/skyofbitbit/p/2756576.html
Copyright © 2011-2022 走看看