C++设计模式(二)单例模式

来源:互联网 发布:淘宝品控申诉 编辑:程序博客网 时间:2024/06/05 18:54

参考C++设计模式这本书,写了一个示例,如下:

#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>using namespace std;/* 单例 */class Singleton{private:    static Singleton* m_pInstance;    int m_data;protected:    Singleton():m_data(0)    {        cout << "Singleton mode" << endl;    }public:    static Singleton* getInstance()    {        if(m_pInstance == NULL)        {            m_pInstance = new Singleton();        }        return m_pInstance;    }    void setData(int d)    {        m_data = d;    }    int getData()    {        return m_data;    }};Singleton* Singleton::m_pInstance = NULL;int main(void){    Singleton* p = Singleton::getInstance();    p->setData(10);    cout << "data = " << p->getData() << endl;    Singleton* p1 = Singleton::getInstance(); // p1 = p    cout << "data = " << p1->getData() << endl;    return 0;}


0 0