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

来源:互联网 发布:休闲食品2018年数据 编辑:程序博客网 时间:2024/05/09 15:55

//singleton.hclass singleton{private:   singleton();   singleton(const singleton&);   singleton & operator=(const singleton&)      static singleton* sing;public:   static singleton * getInstance();}
//singleton.cppsingleton* singleton::sing = NULL;singleton* singleton::getInstance(){   if(NULL == sing)       sing = new singleton();     return sing;}


单例模式的实现要点:

1、 首先要将类的构造函数、复制构造函数和重载的赋值操作符设置为私有方法private,这样禁止用户调用构造函数来创建对象,无法使用new来实例化新对象。

2、通过声明一个公有的getinstance()方法来获得类的实例对象。在类的声明中,定义一个static的类对象指针,该对象只在初次调用这个函数时初始化,在以后就判断该实例对象是否为NULL,来确定是否已初始化。保证每次调用该函数都获得的是同一个实例对象。



0 0
原创粉丝点击