编程语言
首页 > 编程语言> > C++设计模式实现 - 单例模式

C++设计模式实现 - 单例模式

作者:互联网

定义

单例模式顾名思义只有一个实例,而且必须是自己创建自己的唯一实例,然后将实例通过其他接口提供给其他对象。
在开发过程中,我们都会用到很多全局变量和多类复用函数(比如获取随机数之类的函数),这里加个全局变量,那里也加个全局变量,导致代码难以维护。通过使用单例模式,我们可以很好的维护这些全局变量

举例

当一个项目中有很多全局变量和多类复用函数时,参考如下代码:


/*
变量单例
*/
class VarSingle
{
protected:
    VarSingle() {}

    static VarSingle* pThis;

public:
    VarSingle(VarSingle& other) = delete;
    void operator=(const VarSingle&) = delete;

    static VarSingle* getInstance() {
        if (!pThis)
            pThis = new VarSingle();
        return pThis;
    }

public: // 全局变量维护
    int globalVal1;
    double globalVal2;
};


/*
多类复用函数单例
*/
class FuncSingle
{
protected:
    FuncSingle() {}

    static FuncSingle* pThis;

public:
    FuncSingle(FuncSingle& other) = delete;
    void operator=(const FuncSingle&) = delete;

    static FuncSingle* getInstance() {
        if (!pThis)
            pThis = new FuncSingle();
        return pThis;
    }

public:
    int getRand(int min, int max); // 复用函数 - 返回随机数
}

标签:全局变量,int,C++,FuncSingle,单例,pThis,设计模式,VarSingle
来源: https://blog.csdn.net/weixin_52511809/article/details/115439989