什么叫做复制构造函数?复制构造函数何时被调用?
时间: 2023-12-21 22:30:48 浏览: 95
复制构造函数是一种特殊的构造函数,它的形参是本类的对象的引用,比如(类名 对象名)。它的作用是使用一个已经存在的对象(此对象由复制构造函数的参数决定),去初始化同类的一个新对象。复制构造函数一般在以下三种情况下被调用:
1. 当用一个对象去初始化同类的另一个新对象时,会调用复制构造函数。
2. 当函数的形参是类对象时,调用函数时会调用复制构造函数。
3. 当函数的返回值是类对象时,函数返回时会调用复制构造函数。
以下是一个使用复制构造函数的例子:
```c++
#include <iostream>
using namespace std;
class MyClass {
public:
int x;
MyClass(int a) { x = a; } // 普通构造函数
MyClass(const MyClass &obj) { x = obj.x; } // 复制构造函数
};
int main() {
MyClass obj1(10); // 调用普通构造函数
MyClass obj2 = obj1; // 调用复制构造函数
cout << obj2.x; // 输出:10
return 0;
}
```
相关问题
什么叫做复制构造函数?复制构造函数何时被调用?
制作复杂结构的函数通常称为复合函数。当在程序中需要某种特定的功能时,可以调用已经编写好的复合函数来完成这个任务。复合函数被调用时,程序会将需要的参数传递给函数,并根据函数的规则来进行处理,最后将结果返回给主程序。
阅读全文