拷贝构造函数(Copy Constructor)是C++中用于创建一个新对象作为另一个已存在对象的副本的特殊构造函数。当一个对象被另一个对象初始化时,就会调用拷贝构造函数。
拷贝构造函数的主要作用是:
1. 初始化:在创建对象时,通过拷贝另一个对象的数据来初始化新对象。
2. 赋值:当一个对象被另一个对象赋值时,拷贝构造函数也会被调用。
3. 返回对象:当一个函数返回一个对象时,拷贝构造函数会被调用以返回对象的副本。
在C++中,拷贝构造函数有以下特点:
拷贝构造函数的名称:必须与类名相同。
参数列表:拷贝构造函数只有一个参数,即要拷贝的对象的引用。
拷贝构造函数的参数:该参数通常是类的引用类型,通常使用引用来避免复制对象的副本时可能产生的额外开销。
以下是一个简单的拷贝构造函数的例子:
```cpp
class MyClass {
public:
int value;
// 拷贝构造函数
MyClass(const MyClass& other) {
value = other.value;