什么叫做复制构造函数?复制构造函数何时被调用?
时间: 2023-12-21 19:30:48 浏览: 86
什么时候调用拷贝构造函数
复制构造函数是一种特殊的构造函数,它的形参是本类的对象的引用,比如(类名 对象名)。它的作用是使用一个已经存在的对象(此对象由复制构造函数的参数决定),去初始化同类的一个新对象。复制构造函数一般在以下三种情况下被调用:
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;
}
```
阅读全文