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

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

3天内不再提示

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

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

拷贝构造函数

1.概念

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

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

2.特征:

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

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

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

3.使用场景

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

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

传值方式作为函数的参数

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

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

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

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

    关注

    3

    文章

    4350

    浏览量

    63051
  • C++
    C++
    +关注

    关注

    22

    文章

    2114

    浏览量

    73932
  • 构造函数
    +关注

    关注

    0

    文章

    5

    浏览量

    2758
收藏 人收藏

    评论

    相关推荐

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

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

    C++课件及范例代码(中科院研究生用)

    C++课件及范例代码(中科院):对象与类,构造函数与析构函数,堆与拷贝构造
    发表于 10-07 10:03 77次下载
    <b class='flag-5'>C++</b>课件及范例代码(中科院研究生用)

    如何深度解析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 2365次阅读
    Linux共享库的<b class='flag-5'>构造</b><b class='flag-5'>函数</b>和析构<b class='flag-5'>函数</b>

    C++详谈构造函数

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

    C语言模拟实现memcpy函数

    memcpy指的是cc++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始
    的头像 发表于 06-29 17:29 2543次阅读
    <b class='flag-5'>C</b>语言模拟实现memcpy<b class='flag-5'>函数</b>

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

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

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

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

    深度解析C++中的虚函数

    函数作为C++的重要特性,让人又爱又怕,爱它功能强大,但又怕驾驭不好,让它反咬一口,今天我们用CPU的角度,撕掉语法的伪装,重新认识一下虚函数。 虚函数
    的头像 发表于 02-15 11:14 893次阅读
    深度解析<b class='flag-5'>C++</b>中的虚<b class='flag-5'>函数</b>

    浅析C++执行构造函数编程实例

    C++保证在你调用delete时,先自动调用析构函数(而我们安排在这个函数里面删除它的法杖、法袍等对象),再删除对象占用的内存。
    发表于 03-03 15:44 329次阅读

    C++面向对象编程中的深拷贝和浅拷贝

    可能对于Java程序员来说,很少遇到深浅拷贝问题,但是对于C++程序员来说可谓是又爱又恨。。
    的头像 发表于 03-30 12:53 846次阅读
    <b class='flag-5'>C++</b>面向对象编程中的深<b class='flag-5'>拷贝</b>和浅<b class='flag-5'>拷贝</b>

    C++拷贝和浅拷贝详解

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

    探索C++的编程习惯与编程要点

    C++的类可以分为带指针数据成员与不带指针数据成员两类,complex就属于不带指针成员的类。而这里要说的字符串类String,一般的实现会带有一个char *指针。带指针数据成员的类,需要自己实现class三大件:拷贝构造
    的头像 发表于 11-14 09:25 462次阅读
    探索<b class='flag-5'>C++</b>的编程习惯与编程要点

    同样是函数,在CC++中有什么区别

    同样是函数,在 CC++ 中有什么区别? 第一个返回值。 C语言的函数可以不写返回值类型,编译器会默认为返回 int。 但是
    的头像 发表于 11-29 10:25 465次阅读