关闭

C++ 使用模版范式写一个单例模式的类--简单实现单例模式

349人阅读 评论(0) 收藏 举报
#ifndef __SINGLETON__
#define __SINGLETON__
#include "stdafx.h"
template <class T>
class Singleton
{
public:
    static T* getInstance() {
        if (_instance == NULL)
        {
            _instance = new T;
        }
        return _instance;
    }
    static void Release()
    {
        if (_instance != NULL)
        {
            delete _instance;
            _instance = NULL;
        }
    }
protected:
    Singleton(void) {}
    virtual ~Singleton(void) {}
    static T* _instance;
};
template <class T> T* Singleton<T>::_instance = NULL;
#endif  //__SINGLETON__

使用方法:
class QuestManager :public Singleton<QuestManager>

{

}

在需要是单例模式的类中,继承单例,把需要的类作为参数就行了;

QuestManager::getInstance();


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:43891次
    • 积分:622
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:63篇
    • 译文:0篇
    • 评论:0条
    文章分类