写一段拷贝构造函数的简单编程
时间: 2024-04-24 17:27:26 浏览: 77
当我们需要自定义一个类的拷贝构造函数时,可以按照以下方式进行编程:
```cpp
#include <iostream>
class MyClass {
public:
int value;
// 默认构造函数
MyClass() {
value = 0;
std::cout << "Default constructor called" << std::endl;
}
// 拷贝构造函数
MyClass(const MyClass& obj) {
value = obj.value;
std::cout << "Copy constructor called" << std::endl;
}
};
int main() {
// 创建对象 obj1
MyClass obj1;
obj1.value = 10;
// 使用拷贝构造函数创建对象 obj2,并将 obj1 的值复制给 obj2
MyClass obj2(obj1);
// 打印 obj2 的值
std::cout << "obj2.value: " << obj2.value << std::endl;
return 0;
}
```
在上述代码中,我们定义了一个名为 `MyClass` 的类,其中包含了默认构造函数和拷贝构造函数。在 `main()` 函数中,我们创建了一个对象 `obj1` 并将其值设置为 10。然后,使用拷贝构造函数创建了另一个对象 `obj2`,并将 `obj1` 的值复制给了 `obj2`。最后,我们打印出了 `obj2` 的值。
当运行上述代码时,输出结果为:
```
Default constructor called
Copy constructor called
obj2.value: 10
```
可以看到,在拷贝构造函数中,我们将 `obj1` 的值复制给了 `obj2`,并且通过输出语句验证了拷贝构造函数的调用。
阅读全文