八股文 拷贝构造函数
时间: 2023-10-19 21:09:15 浏览: 91
拷贝构造函数
拷贝构造函数是一种特殊的构造函数,用于创建一个对象,该对象是以同一类的另一个对象作为参数进行初始化的。它主要用于在创建新对象时进行复制,并确保新对象具有与原始对象相同的数据。拷贝构造函数通常用于深拷贝操作,以避免对象之间的数据共享和潜在的问题。
在C++中,拷贝构造函数的定义形式类似于普通的构造函数,但是它只有一个参数,该参数是同一类的对象的引用。拷贝构造函数可以通过使用该引用参数来访问并复制原始对象的数据,并将其赋给新对象。
以下是一个拷贝构造函数的示例:
```
class MyClass {
public:
int data;
// 拷贝构造函数
MyClass(const MyClass& other) {
data = other.data;
}
};
int main() {
MyClass obj1;
obj1.data = 10;
// 使用拷贝构造函数创建新对象
MyClass obj2 = obj1;
return 0;
}
```
在上述示例中,拷贝构造函数`MyClass(const MyClass& other)`用于将`obj1`的数据复制到`obj2`,以创建一个新的对象。这样,`obj1`和`obj2`将具有相同的数据值。
阅读全文