实现Singleton模式

来源:互联网 发布:范玮琪人品知乎 编辑:程序博客网 时间:2024/06/05 23:56
//代码一#include <iostream>using namespace std;class Single{private:    Single(){//构造函数设置为私有函数        cout<<"construct"<<endl;    }public:    static void getInstance(){        cout<<"calling"<<endl;        Single();    };    ~Single(){        cout<<"deconstruct"<<endl;    };};int main(){    Single::getInstance();    return 0;}代码二:include <iostream>using namespace std;class Singleton{public:    static Singleton *GetInstance()    {        if (m_Instance == NULL )        {            m_Instance = new Singleton ();        }        return m_Instance;    }    static void DestoryInstance()    {        if (m_Instance != NULL )        {            delete m_Instance;            m_Instance = NULL ;        }    }    // This is just a operation example    int GetTest()    {        return m_Test;    }private:    Singleton(){ m_Test = 10; }    static Singleton *m_Instance;    int m_Test;};Singleton *Singleton ::m_Instance = NULL;int main(int argc , char *argv []){    Singleton *singletonObj = Singleton ::GetInstance();    cout<<singletonObj->GetTest()<<endl;    Singleton ::DestoryInstance();    return 0;}
原创粉丝点击