拷贝构造函数重点整理

参考链接下文章,总结的

简介

示例:className ( const className &C )就是我们自定义的拷贝构造函数。拷贝构造函数是一种特殊的构造函数,函数的名称必须与类名一致,它必须的一个参数是本类型的一个引用变量。

拷贝构造函数什么时候被调用的?

  1. 当类对象以值传递方式传入参数时
    ①对象以值传递方式传入形参时,会先生成一个临时变量tem
    ②然后会调用拷贝构造函数把对象的值传给tem。这个步骤类似 class tem(obj);
    ③等函数执行完毕,会调用析构函数,将tem对象析构掉
  2. 当类对象以值传递的方式从函数返回
    ①先会产生一个临时变量tem
    ②然后会把returnObj(例如 return returnObj;)的值传给tem。类似于 class tem(returnObj);
    ③函数执行到最后先析构掉returnObj;
    ④函数执行完之后再把tem也析构掉。
  3. 对象需要通过另一个对象进行初始化
    className A(100);
    className B = A;//调用拷贝构造函数
    //className B(A);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值