单利模式

class Singleton{
public:
    static Singleton* GetInstance()
    {
        if (m_pInstance == nullptr)
        {
            m_pInstance = new Singleton;
        }
        return m_pInstance;
    }
private:
    Singleton(){}//需要将构造和析构定义成私有的防止外界构造和析构
    ~Singleton(){}
    static Singleton* m_pInstance;//static所有类共享
};


#include "singleton.h"

Singleton* Singleton::m_pInstance = nullptr;//static变量必须在类外定义并且定义时初始化

打算复习一下几个常用的设计模式

posted @ 2016-04-30 19:12  zzyoucan  阅读(145)  评论(0编辑  收藏  举报