拷贝构造
时间: 2023-07-08 20:06:10 浏览: 85
拷贝构造函数是一种特殊的构造函数,它用于创建一个新对象,该对象与现有对象具有相同的值和属性。拷贝构造函数通常采用引用参数,以便将要复制的对象传递给它。它的语法如下:
```
ClassName(const ClassName& obj)
```
其中,ClassName是类名,obj是一个引用参数,表示要复制的对象。
拷贝构造函数可以用于以下情况:
1. 创建一个新对象,该对象与现有对象具有相同的属性和值。
2. 将对象作为参数传递给一个函数,该函数需要一个对象的副本。
3. 在使用动态内存分配时,需要创建一个新对象,并为它分配内存空间。
下面是一个示例:
```c++
#include <iostream>
using namespace std;
class MyClass {
public:
int x;
MyClass(int val) : x(val) {}
//Copy constructor
MyClass(const MyClass& obj) {
x = obj.x;
}
};
int main() {
MyClass obj1(10);
MyClass obj2 = obj1; //使用拷贝构造函数创建一个新对象
cout << obj2.x; //输出 10
return 0;
}
```
在上面的示例中,我们创建了一个名为MyClass的类,并定义了一个拷贝构造函数,用于创建一个新对象。在main函数中,我们创建了一个MyClass对象obj1,并使用拷贝构造函数创建了另一个对象obj2,obj2与obj1具有相同的属性和值。最后,我们输出obj2.x的值,该值应该是10。
阅读全文
相关推荐














