C++中何时调用复制构造函数

2024-11-15 12:15:43
推荐回答(2个)
回答1:

一般拷贝构造函数有以下调用方式:

1、一个对象作为函数参数,以值传递的方式传入函数体。

void func(Base base); // 此时调用func函数,形参含锋base会调用拷贝构造函数

2、一个对象作为函数返回值,以值传递的方式从函数返回。

Base func();
void main()
{
   困消 Base a 汪老知= func();// 获得func的返回值时,会触发拷贝构造函数
    a.do();
}

3、一个对象用于给另外一个对象进行初始化。

Base a;
Base b(a); // 此时会触发拷贝构造函数

回答2:

当你创建新的对象时把已存在的对象作为参数时