美文网首页C/C++学习笔记C++
5.0 C++远征:拷贝构造函数

5.0 C++远征:拷贝构造函数

作者: 青_阳 | 来源:发表于2016-11-18 16:40 被阅读22次

拷贝构造函数

引:当使用默认初始化、等号初始化、小括号初始化等三种初始化方式实例化三个对象时,实际只调用了一份特殊构造函数:拷贝构造函数:

拷贝构造函数.png

1.拷贝构造函数的定义

拷贝构造函数2.png

拷贝构造函数在名称上与普通构造函数一样,在参数上不一样:要加个const,而且入参是一个引用——而且是一个与自身类的数据类型完全相同的对象。

拷贝构造函数的定义:类名(const 类名 &对象参数名)

这样,在“引”中的以三种初始化方式实例化的三个对象,就会执行自定义拷贝构造函数中的相应代码。

拷贝构造函数3.png

2.总结

(1)

系统自动生成的构造函数分为普通构造函数和拷贝构造函数。当通过初始化"()"或赋值"="来实例化一个对象的时候,调用的是拷贝构造函数。而非普通构造函数——直接Student stu;。

  • 如果没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构造函数

  • 当采用直接初始化或复制初始化实例化对象时系统自动调用拷贝构造函数

拷贝构造函数5.png

初始化列表不仅可以写在普通构造函数后,还能写在拷贝构造函数后

(2)

构造函数分为:无参构造函数和有参构造函数。无参构造函数成为默认构造函数。有参构造函数分为有默认值的和无默认值的。如果所有都有默认值,则也为默认构造函数。

拷贝构造函数4.png

拷贝构造函数的参数是确定的,不能重载

相关文章

  • 5.0 C++远征:拷贝构造函数

    拷贝构造函数 引:当使用默认初始化、等号初始化、小括号初始化等三种初始化方式实例化三个对象时,实际只调用了一份特殊...

  • C++ 构造函数,类的成员变量

    c++ 05 构造函数无参构造函数有参构造函数 拷贝构造函数 浅拷贝 深拷贝 类的成员变量 四类特殊的成员变量

  • [C++之旅] 12 拷贝构造函数

    [C++之旅] 12 拷贝构造函数 拷贝构造函数的特点 如果没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构...

  • c++学习笔记2(GeekBand)

    拷贝构造、拷贝赋值和析构 c++中有Big Three三个特殊的函数,他们就是拷贝构造函数,拷贝赋值函数和析构函数...

  • C++ 拷贝控制(二) — 移动构造函数和移动赋值运算符

    相关文章: C++ 拷贝控制(一) — 析构函数、拷贝构造函数与拷贝赋值函数 C++ 引用类型 — 左值引用、常引...

  • C++ 拷贝构造函数浅析

    什么是拷贝构造函数:拷贝构造函数,顾名思义,就是在拷贝的时候调用的构造函数。 几个原则:C++ primer p4...

  • C++拷贝构造函数——难点

    拷贝构造函数 - C++详细 | 编程字典

  • C++:面向对象基础

    构造函数 C++中有三种构造函数:默认构造函数,有参构造函数,拷贝构造函数 类对象的初始化 括号法//默认构造函数...

  • c++第二周笔记

    C++ 第二周笔记 本周的内容比较多,主要介绍了三个重要函数: 拷贝构造、拷贝赋值、析构函数。 1.拷贝构造函数。...

  • 浅析c++三大函数--GeekBand

    浅析c++ 三大函数 三大函数的特殊性 c++三大函数指的是拷贝构造、拷贝赋值、析构函数。这3个函数比较特殊: 一...

网友评论

    本文标题:5.0 C++远征:拷贝构造函数

    本文链接:https://www.haomeiwen.com/subject/cdqspttx.html