C++中复制构造函数被调用的三种情况
2020-12-13 15:00
标签:返回 public cti code 相同 inf 自动生成 初始 参数 c++中的构造函数分为构造函数,和复制构造函数,相比于构造函数,复制构造函数使用更加方便,快捷。构造函数可以有多个,二复制构造函数只能有一个,因为复制构造函数的参数 复制构造函数同构造函数的功能大体相同·,却又有不同之处,下面介绍复制构造函数在3中情况下的调用 这两条语句时等价的,其中第二句是初始化语句,不是赋值语句 程序运行截图 3.如果函数返回的是类A的对象,那么函数返回时,类A的复制构造函数会被调用 以上三种情况是比较常见的复制构造函数被调用的例子 欢迎讨论,斧正 C++中复制构造函数被调用的三种情况 标签:返回 public cti code 相同 inf 自动生成 初始 参数 原文地址:https://www.cnblogs.com/liveformyself/p/11571772.htmlC++中的构造函数
只能是当前类的一个对象,参数表是固定的,无法重载,若用户没有定义自己的辅助构造函数,系统会自动生成一个复制构造函数,其作用是将参数的之赋予当前的对象.若用户自己定义了复制构造函数,系统则不会生成默认复制构造函数。用户自己定义的复制构造函数功能可以自己构造,不一定执行复制的功能。
1.当用一个对象去初始化同类的另一个对象时,会引发复制构造函数的调用
以下两条语句都会导致复制构造函数的调用 Complex c1(c2);
Complex c1=c2;
下面这一条语句不会调用复制构造函数 Complex c1,c2;
c1=c2;
2.作为形参的对象,使用复制构造函数初始化的
以下语句可以证明
#include
程序如下 #include