0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C++:详谈拷贝构造函数

如意 来源:CSDN 作者:cherrydreamsover 2020-06-29 11:45 次阅读

拷贝构造函数

1.概念

只有单个形参,而且该形参是对本类类型对象的引用(常用const修饰),这样的构造函数称为拷贝构造函数。拷贝构造函数是特殊的构造函数,创建对象时使用已存在的同类对象来进行初始化,由编译器自动调用。

C++:详谈拷贝构造函数

2.特征:

(1)它是构造函数的重载;

(2)它的参数必须使用同类型对象的引用传递;

(3)如果没有显示定义,系统会自动合成一个默认的拷贝构造函数。默认的拷贝构造函数会依次拷贝类的数据成员完成初始化。

3.使用场景

使用已存在的对象创建新的对象

C++:详谈拷贝构造函数

传值方式作为函数的参数

C++:详谈拷贝构造函数

传值方式作为函数的返回值

C++:详谈拷贝构造函数

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61309
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • 构造函数
    +关注

    关注

    0

    文章

    5

    浏览量

    2722
收藏 人收藏

    评论

    相关推荐

    C++零基础教程之深浅拷贝,轻松上手C++拷贝构造函数

    编程语言C++语言
    电子学习
    发布于 :2023年01月14日 12:28:13

    高质量c++ c编程指南

    ......................................................................................................... 56第8 章 C++函数的高级特性
    发表于 06-27 10:22

    请问STM32 C++构造函数怎么修改才能实现全局变量的初始化呢?

    在STM32F10X项目中使用了C++的特性,使用arm-none-eabi-g++编译,程序可以正常运行。问题: C++定义的全局变量,其类的构造函数不被执行,在
    发表于 10-10 08:45

    如何把C++的源程序改写成C语言

    所要实现的功能还一无所知。倒不是说一无所知对大家有好处,只是想说这种方法的与程序逻辑本身的无关性。下面对C++的一些特性,以及如何在c里实现或者替代,作一些初步的探讨:说明:函数Ixx为类xx的
    发表于 06-30 10:54

    如何把C++的源程序改写成C语言

    方法的与程序逻辑本身的无关性。下面对C++的一些特性,以及如何在c里实现或者替代,作一些初步的探讨:说明:函数Ixx为类xx的构造函数的实现
    发表于 07-05 14:59

    如何把C++的源程序改写成C语言

    说一无所知对大家有好处,只是想说这种方法的与程序逻辑本身的无关性。下面对C++的一些特性,以及如何在c里实现或者替代,作一些初步的探讨:说明:函数Ixx为类xx的构造
    发表于 07-07 09:31

    如何把C++的源程序改写成C语言

    说一无所知对大家有好处,只是想说这种方法的与程序逻辑本身的无关性。下面对C++的一些特性,以及如何在c里实现或者替代,作一些初步的探讨:说明:函数Ixx为类xx的构造
    发表于 11-17 10:16

    如何深度解析C++拷贝构造函数详细资料说明

    本文档的主要内容详细介绍的是如何深度解析C++拷贝构造函数详细资料说明。
    发表于 07-05 17:41 0次下载
    如何深度解析<b class='flag-5'>C++</b><b class='flag-5'>拷贝</b><b class='flag-5'>构造</b><b class='flag-5'>函数</b>详细资料说明

    Linux共享库的构造函数和析构函数

    共享库有类似C++构造和析构函数函数,当动态库加载和卸载的时候,函数会被分别执行。一个函数
    的头像 发表于 06-22 09:18 2097次阅读
    Linux共享库的<b class='flag-5'>构造</b><b class='flag-5'>函数</b>和析构<b class='flag-5'>函数</b>

    类的拷贝构造函数主要用途是什么?

    类在实例化的时候会调用类的缺省构造函数,在struct里,要定义一个同名函数指针指向一个具有构造函数功能的初始化
    的头像 发表于 06-24 14:28 4536次阅读

    C++详谈构造函数

    构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象的时候,由编译器自动调用,在对象的生命周期内只且调用一次,以保证每个数据成员都有一个合适的初始值。
    的头像 发表于 06-29 11:44 1439次阅读
    <b class='flag-5'>C++</b>:<b class='flag-5'>详谈</b><b class='flag-5'>构造</b><b class='flag-5'>函数</b>

    C++详谈析构函数的特性和使用

    构造函数功能相反,在对象被销毁时,由编译器自动调用,完成类的一些资源清理和汕尾工作。
    的头像 发表于 06-29 11:53 2161次阅读
    <b class='flag-5'>C++</b>:<b class='flag-5'>详谈</b>析构<b class='flag-5'>函数</b>的特性和使用

    C++拷贝构造函数的浅copy及深copy

    C++编译器会默认提供构造函数;无参构造函数用于定义对象的默认初始化状态;拷贝
    的头像 发表于 12-24 15:31 525次阅读

    c++构造函数学习的总结(一)

    关于这个构造函数,简单理解就是在一个类中,有一个函数,它的函数名称和类名同名,而且这个构造函数
    的头像 发表于 12-24 18:06 536次阅读

    C++拷贝和浅拷贝详解

    当类的函数成员存在指针成员时会产生深拷贝和浅拷贝和问题。
    发表于 08-21 15:05 184次阅读
    <b class='flag-5'>C++</b>深<b class='flag-5'>拷贝</b>和浅<b class='flag-5'>拷贝</b>详解