首页 > 编程语言 > 详细

C++单例模式

时间:2018-08-09 16:45:03      阅读:148      评论:0      收藏:0      [点我收藏+]

应该有好多小伙伴会遇到对象频繁创建与销毁,或者是多个类共用一个类的时候怎么解决,今天就给大家好好讲讲单例模式

 

1、既然是单例模式那就只能存在一个对象

2、头文件

class Singleton{
public:
	static Singleton* getInstance();

private:
	Singleton();
	//把复制构造函数和=操作符也设为私有,防止被复制
	Singleton(const Singleton&);
	Singleton& operator=(const Singleton&);

	static Singleton* instance;
};

3、源文件

#include "Singleton.h"
//因为是static成员变量,需要在这里初始化
Singleton* Singleton::instance = NULL;

Singleton::Singleton(){

}


Singleton::Singleton(const Singleton&){

}


Singleton& Singleton::operator=(const Singleton&){

}


//在此处初始化
Singleton* Singleton::getInstance(){
       if(instance == NULL)

       {
            instance = new Singleton();
       }
        return instance;
}

  

4、使用方法

int main(int argc, char *argv[])
{
   Singleton* singleton1 = Singleton::getInstance();
  //下面就可以用这个类里面的变量或者方法等
    Singleton* singleton2 = Singleton::getInstance();


   //singleton1和singleton2两个类指针对象共享同一份成员变量等
   return 0; 
}

  

C++单例模式

原文:https://www.cnblogs.com/xupeidong/p/9448058.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!