码迷,mamicode.com
首页 > 编程语言 > 详细

[设计模式][C++]单例模式

时间:2015-06-02 14:55:00      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

参考:http://blog.csdn.net/hackbuteer1/article/details/7460019

单例模式意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。

  单例模式通过类本身来管理其唯一实例,这种特性提供了解决问题的方法。唯一的实例是类的一个普通对象,但设计这个类时,让它只能创建一个实例并提供对此实例的全局访问。唯一实例类Singleton在静态成员函数中隐藏创建实例的操作。习惯上把这个成员函数叫做Instance(),它的返回值是唯一实例的指针。

 

class CSingleton
{
private:
    CSingleton()   //构造函数是私有的
    {
    }
    static CSingleton *m_pInstance;
public:
    static CSingleton * GetInstance()
    {
        if(m_pInstance == NULL)  //判断是否第一次调用
            m_pInstance = new CSingleton();
        return m_pInstance;
    }
};

 

注意:

我在VS中,因为目前不知道的原因使用时

必须在 cpp文件中再次声明:

static CSingleton * CSingleton::m_pInstance = NULL;

我目前不知道为什么···不过这样加就能用了

[设计模式][C++]单例模式

标签:

原文地址:http://www.cnblogs.com/lyggqm/p/4546372.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!