当前位置:   article > 正文

【C++】设计模式之单例模式_单例模式去除拷贝和复制构造函数

单例模式去除拷贝和复制构造函数

  一、单例模式

1、目的:为了让整个类只能实例化一个对象,也就是如果调用时是不能生成第二个对象的

2、一个对象的生成的特点:

  • 开辟内存空间(这是系统进行开辟的,我们无法进行操作)
  • 调用构造函数(我们可以让构造函数只被调用一次,也就是让对象只能在第一次调用时,调用构造函数)

3、处理方法:

(1)屏蔽构造函数(把构造函数写在私有里面)(构造函数在公有里面就可以任意位置访问构造,任意位置生成对象)

注意:屏蔽构造函数还要把拷贝构造函数也屏蔽,因为系统提供的拷贝构造函数也在公有里面

(2)类中提供一个接口(接口也就是函数名,这个接口相当于一个中间层,这个接口是公有的,在类中写着),生成唯一的对象(因为构造函数在私有,类外没有办法调用构造函数,没办法生成对象,根据oop思想,对象才是最后函数的调用者,对象没办法生成,类的设计就没有意义)

类中提供的接口的特点:

  • 返回值不能用类类型,因为类类型会生成临时变量,违背我们生成唯一对象的初衷可以是类类型的指针,或者类类型的引用,所以一般要用*或者&
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/976444
推荐阅读
相关标签
  

闽ICP备14008679号