拷贝构造函数的第一个参数必须是自身类类型的引用

拷贝构造函数的定义:如果一个构造函数的第一个参数是自身类类型的引用,且任何额外参数都有默认值,则此构造函数是拷贝构造函数

第一个参数必须是自身类类型的引用原因:

拷贝构造函数被用来初始化非引用类类型的参数;

假设其自身参数不是引用类型,则调用永远都不会成功;

void c(int a){}

比如 int a=3;c(a);假设a有拷贝构造函数a::a(int b):a(b){},当调用c函数时,拷贝构造函数被用来初始化形参,可是拷贝构造函数自己的参数也需要调用拷贝构造函数被用来初始化,

如此无限循环,因此构造函数的第一个参数必须是自身类类型

posted on 2018-04-02 11:30 maolike 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/likemao/p/8691731.html

拷贝构造函数的第一个参数必须是自身类类型的引用相关推荐

  1. 浅谈深浅拷贝问题(这里只针对拷贝构造函数和赋值运算符重载)和简易srting类模拟实现

    浅谈深浅拷贝问题(这里只针对拷贝构造函数和赋值运算符重载)和简易srting类模拟实现 文章目录 浅谈深浅拷贝问题(这里只针对拷贝构造函数和赋值运算符重载)和简易srting类模拟实现 一.什么是浅拷 ...

  2. java 类作为参数_如何将类类型作为函数参数传递

    您正在以错误的方式接近它:在Swift中,与Objective-C不同,类具有特定类型,甚至具有继承层次结构(即,如果类 B 继承自 A ,则 B.Type 也继承自 A.Type ): class ...

  3. 【C++】对拷贝构造函数 深浅拷贝 的理解 拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数?

    这个题目是参考别人面经的一道题,顺着这个问题研究了一下拷贝构造函数.拷贝构造函数简单点理解就是通过一个已有的对象去构造一个新的对象. class Foo {public:Foo(); //默认构造函数 ...

  4. C++ 语言拷贝构造函数、拷贝赋值运算符和析构函数

    C++ 语言拷贝构造函数.拷贝赋值运算符和析构函数 每个类都定义了一个新类型和在此类型对象上可执行的操作.类可以定义构造函数,用来控制在创建此类型对象时做什么.一个类通过定义五种特殊的成员函数来控制这 ...

  5. c++中拷贝构造函数被调用的时机

    1 c++中拷贝构造函数被调用的时机 拷贝构造函数被调用的几种情况: (1)当用类的一个对象去初始化该类的另一个对象时,系统会自动调用拷贝构造函数: (2)将一个对象作为实参传递给一个非引用类型的形参 ...

  6. C++复制控制:拷贝构造函数

    一.拷贝构造函数是一种特殊构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用.与默认构造函数一样 ,拷贝构造函数可由编译器隐式调用.拷贝构造函数应用的场合为: (1)根据另一个同类 ...

  7. 【转】拷贝构造函数的参数类型必须是引用

    在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识. 但是如果我问你"拷贝构造函数的参数为什么必须使用引用类型?"这个问题, 你 ...

  8. C++拷贝构造函数详解

    一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: [c-sharp] view plaincopy int a = 100; int b = a; 而类对象与普通 ...

  9. C++ 拷贝构造函数应用场景

    第一个场景 #include <iostream>using namespace std;class Test{public://默认构造函数. 就是一个无参数的构造函数,//如果不显示提 ...

最新文章

  1. Xilinx低比特率高品质 ABR 视频实时转码(HPE 参考架构)
  2. TestNG学习随笔
  3. koa+mysql+vue+socket.io全栈开发之web api篇
  4. GPU视频解码之CUVID
  5. leetcode181. 超过经理收入的员工(SQL)
  6. iOS开发之UI控件阴影效果
  7. MacOS 10.14.5单双面打印设置
  8. D - Hangar Hurdles(kruskal重构树+树上倍增)
  9. 【AC自动机模板】(转自木子日匀大神)
  10. 2019年暑假第八周总结
  11. html颜色主题,16 种更好看的 WEB 默认标准色 colors.css
  12. 制作自己的ChatGPT
  13. 3.19字节懂车帝一面
  14. 安卓扫描银行卡获取卡号信息
  15. html 苹果app安装app,未越狱的苹果手机如何安装非App Store的应用?
  16. python3 diff函数案例
  17. 基于FPGA的多路彩灯设计及代码
  18. 回忆杀,pythonQ版泡泡堂
  19. HTML <head>标签:头部
  20. 智慧零售解决方案-最新全套文件

热门文章

  1. 【转载】无需图片,使用CSS3实现圆角按钮
  2. [原]软件设计的一些感悟
  3. 关于ASP.NET页面打印技术的总结
  4. oracle中同义词的用法,Oracle中使用同义词介绍
  5. matlab 比例谐振控制器,比例谐振控制的一种实现(含代码)
  6. catia 工厂设计_SolidWorks、creo、UG哪个更适合机械设计?
  7. python假设产品列表如下请首先打印出商品列表_Python列表练习题
  8. oracle asm clsecho,ASM磁盘组一点管理
  9. 3d旋转相册代码源码_实现可旋转的Reflection Probe(原创)
  10. ANSYS配合时如何选择重合面(打开爆炸视图)