C/C++学习笔记C++

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

2016-11-18  本文已影响22人  青_阳

拷贝构造函数

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

拷贝构造函数.png

1.拷贝构造函数的定义

拷贝构造函数2.png

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

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

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

拷贝构造函数3.png

2.总结

(1)

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

拷贝构造函数5.png

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

(2)

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

拷贝构造函数4.png

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

上一篇下一篇

猜你喜欢

热点阅读