C++开发之---单例类的实现

单倒模式是一种常见的设计模式,在cocos2d很多地方都使用到。下面贴出来我的一种方式。 Utils.h

#ifndef \_\_UTILS\_H_
#define \_\_UTILS\_H_


#define UTILS                       Utils::Instance()

class Utils  
{
private:
    //将构造与析构声明 为私有,防止外部创建对象,因为这个对象是单根类
    Utils();
    ~Utils();
public:
    static Utils*    Instance();

};

#endif

Utils.cpp

#include "Utils.h"

Utils::Utils()
{
}

Utils::~Utils()
{
}

Utils* Utils::Instance()
{
    static Utils instance;

    return &instance;
}

原理都是类似的,使用类的静态变量或全局的静态变量保存唯一实例。最重要一点:将构造与析构声明 为私有,防止外部创建对象,保持此类只有唯一一个实例 QQ群:239759131 cocos 技术交流 欢迎您


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xue_huashan@163.com

文章标题:C++开发之---单例类的实现

文章字数:183

本文作者:max-xue

发布时间:2018-08-28, 18:39:00

最后更新:2019-11-09, 21:12:46

原始链接:http://blog.le-more.com/2018/08/28/c++/c-e5-8d-95-e4-be-8b-e7/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏