单例模式

2019-03-30  本文已影响0人  cb_guo

《大话设计模式》第 21 章

单例模式使用举例

#include <iostream>

using namespace std;

class CSingleton{
    private:
        CSingleton(){  // 构造函数是私有的

        }
        static CSingleton *m_pInstance;
    public:
        static CSingleton *GetInstance(){
            if(m_pInstance == NULL){   // 判断是否第一次调用
                m_pInstance = new CSingleton();
            }
            return m_pInstance;
        }
};

CSingleton *CSingleton::m_pInstance = NULL;  // 初始化静态数据成员

int main(){
    CSingleton *s1 = CSingleton::GetInstance();
    CSingleton *s2 = CSingleton::GetInstance();
    if(s1 == s2){
        cout<<"s1 = s2"<<endl;  // 程序的执行结果是输出了 s1=s2
    }
    return 0;
}

参考

上一篇 下一篇

猜你喜欢

热点阅读