自动调用拷贝构造函数的三种情况

首先介绍拷贝构造函数的定义形式:

class 类名
{
public:
构造函数名称 (类名 &变量名)
{
函数体
}
……
};

拷贝构造函数是使用类对象的引用作为参数的构造函数,它能够将参数的属性值拷贝给新的对象,完成对新对象的初始化。

1,第一种情况:使用一个对象初始化另一个对象

给出例子:

在第40行中将旧对象mynewcar作为新对象myseccar的参数,通过第23行的拷贝函数定义了新对象,使其初始化;其实还可以写成Car myseccar = mynewcar;这两个表达式虽然不同但是作用是一样的;

2,第二种情况:对象作为实参传递给函数参数

给出例子:

在第52行里已经定义了的旧对象mynewcar作为实参传递给了函数print_carinfo(Car carinfo)、在作为实参传给函数时就会自动调用第24行的拷贝函数;

3,第三种情况:函数返回值为类对象,创建临时对象作为返回值

给出例子:

在第46行代码里函数get_carinfo()返回了一个对象tmp;当函数返回值为类对象时就会创建临时对象,并会调用拷贝构造函数。

///分割线///完///

自动调用拷贝构造函数的三种情况相关推荐

  1. 拷贝构造函数的三种使用情况

    拷贝构造函数的三种使用情况 拷贝构造函数是构造函数的一种,也称拷贝构造函数,它只有一个参数,参数类型是本类的引用. 下面是该函数调用的三种情况: 使用一个已经创建完毕的对象来初始化一个新对象. 以函数 ...

  2. C++基础知识 - 什么时候调用拷贝构造函数

    什么时候调用拷贝构造函数 1. 调用函数时,实参是对象,形参不是引用类型 如果函数的形参是引用类型,就不会调用拷贝构造函数 #include "Human.h" using nam ...

  3. VC++复制构造函数使用的三种情况—整理范磊VC++

    1 上面不执行复制构造函数,17行将10000赋值给a:首先是进行类型转换转化为类(等价18行),然后调用构造函数创建一个临时对象, 并将该临时对象赋给a. 2. 对func函数: 接收的实参是主函数 ...

  4. 在python里调用C函数的三种方式

    一个python项目快速开发完以后,常常针对瓶颈进行优化,其中一种方式就是对于性能至关重要的部分,使用C重写,这已经是一种最佳实践.如果整个项目完全使用C,开发效率就没有保障.python运行环境(C ...

  5. SSO单点登录三种情况的实现方式详解

    SSO单点登录三种情况的实现方式详解 单点登录(SSO--Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子 ...

  6. 何时会调用拷贝构造函数

    拷贝构造函数什么时候用到 当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用.也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用.以下情况都会调用拷 ...

  7. shiro单点登录原理_SSO单点登录三种情况的实现方式详解

    单点登录(SSO--Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子系统--百度经验.百度知道.百度文库等 ...

  8. Servlet容器装载Servlet的三种情况

    Servlet容器装载Servlet的三种情况: 1.自动装载:某些Servlet如果需要在Servlet容器启动时就加载,需要在web.xml下它的标签里中,添加优先级代码: <Servlet ...

  9. usmssosetup 单点登录被禁用_SSO单点登录三种情况的实现方式详解

    单点登录(SSO--Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子系统--百度经验.百度知道.百度文库等 ...

最新文章

  1. windows dlib 安装测试
  2. 如何让一个类可以被foreach枚举?
  3. 'objects' 报错问题
  4. Spring 工厂的相关的方法
  5. c 匹配mysql密码,MySQL设置密码的三种方法
  6. Head First Java Stick 01
  7. java pattern详解_JAVA正则表达式:Pattern类与Matcher类详解
  8. python文章抄袭检测_中小学生的噩梦:怎样用Python检测抄袭行为?广大中小学生们的美梦就此结束...
  9. idea里查找maven的jar包冲突
  10. java2实用教程第五版耿祥义电子版_Java2实用教程(第5版)答案 耿祥义、张跃平
  11. 机器人运动学基础——旋转矩阵
  12. 【Multisim仿真】74LS193+74LS138流水灯
  13. 读《学会提问》有感(一)
  14. 寒假每日一题 1 : 笨拙的手指 java
  15. 多次办理这项公积金业务都涉及到查询信用报告,是否会影响将来申请贷款?
  16. 线性代数导论32——基变换和图像压缩
  17. java版溺尸掉三叉戟吗_我的世界1.13通用水鬼塔经验农场(刷三叉戟农场)【内有存档】...
  18. 搜索引擎优化系统知名乐云seo_乐云seo_网站SEO优化_关键词排名_整站SEO公司-蜂群SEO...
  19. nginx 初级总汇知识点
  20. 【2020算法练习一】笔试算法题 快手2020校园招聘秋招笔试--算法A试卷

热门文章

  1. js获取元素高度比较
  2. 2014E3游戏展回顾 大作频发精彩不断
  3. kaptcha-2.3.2.jar包下载
  4. 微信小程序_wxcharts(图表不随页面滑动因素之一)
  5. SE 注意力模块 原理分析与代码实现
  6. Linux下date命令详解及C/C++代码实现
  7. 【网络安全】ICMP隐蔽隧道通信与检测
  8. HTML表格边框个人总结
  9. nexus 3.0后上传jar包方法
  10. html mui按钮居中,mui实现下方突出大按钮图标