设计模式02——单例模型

 

用例:

//singleton.cpp
//单例:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

#include <gtest/gtest.h>

class Singleton
{
public:
    ~Singleton() {}
    
    static Singleton* GetInstance()
    {
        if (instance == NULL)
        {
            instance = new Singleton();
        }
        return instance;
    }

private:
    static Singleton* instance;
    Singleton() {}
};

Singleton* Singleton::instance = NULL;


TEST(Singleton,Singleton)
{
    Singleton* single1 = Singleton::GetInstance();
    Singleton* single2 = Singleton::GetInstance();

    EXPECT_EQ(single1,single2);

    delete single1;
}

 

posted on 2018-01-06 22:34  生活的艺术  阅读(151)  评论(0)    收藏  举报