#include <iostream>
class MyClass {
private:
int value;
public:
// 默认构造函数
MyClass() : value(0) {}
// 构造函数
MyClass(int val) : value(val) {}
// 拷贝构造函数
MyClass(const MyClass& other) {
value = other.value; // 将其他对象的 value 成员变量值复制到当前对象
std::cout << "Copy constructor called" << std::endl;
}
// 成员函数,用于获取 value 成员变量的值
int getValue() const {
return value;
}
};
int main() {
// 创建一个 MyClass 对象
MyClass obj1(42);
// 使用拷贝构造函数创建另一个对象,obj2 是 obj1 的副本
MyClass obj2 = obj1;
// 打印 obj2 中的 value 成员变量的值
std::cout << "Value of obj2: " << obj2.getValue() << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgTXlDbGFzcyB7CnByaXZhdGU6CiAgICBpbnQgdmFsdWU7CgpwdWJsaWM6CiAgICAvLyDpu5jorqTmnoTpgKDlh73mlbAKICAgIE15Q2xhc3MoKSA6IHZhbHVlKDApIHt9CgogICAgLy8g5p6E6YCg5Ye95pWwCiAgICBNeUNsYXNzKGludCB2YWwpIDogdmFsdWUodmFsKSB7fQoKICAgIC8vIOaLt+i0neaehOmAoOWHveaVsAogICAgTXlDbGFzcyhjb25zdCBNeUNsYXNzJiBvdGhlcikgewogICAgICAgIHZhbHVlID0gb3RoZXIudmFsdWU7IC8vIOWwhuWFtuS7luWvueixoeeahCB2YWx1ZSDmiJDlkZjlj5jph4/lgLzlpI3liLbliLDlvZPliY3lr7nosaEKICAgICAgICBzdGQ6OmNvdXQgPDwgIkNvcHkgY29uc3RydWN0b3IgY2FsbGVkIiA8PCBzdGQ6OmVuZGw7CiAgICB9CgogICAgLy8g5oiQ5ZGY5Ye95pWw77yM55So5LqO6I635Y+WIHZhbHVlIOaIkOWRmOWPmOmHj+eahOWAvAogICAgaW50IGdldFZhbHVlKCkgY29uc3QgewogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KfTsKCmludCBtYWluKCkgewogICAgLy8g5Yib5bu65LiA5LiqIE15Q2xhc3Mg5a+56LGhCiAgICBNeUNsYXNzIG9iajEoNDIpOwoKICAgIC8vIOS9v+eUqOaLt+i0neaehOmAoOWHveaVsOWIm+W7uuWPpuS4gOS4quWvueixoe+8jG9iajIg5pivIG9iajEg55qE5Ymv5pysCiAgICBNeUNsYXNzIG9iajIgPSBvYmoxOwoKICAgIC8vIOaJk+WNsCBvYmoyIOS4reeahCB2YWx1ZSDmiJDlkZjlj5jph4/nmoTlgLwKICAgIHN0ZDo6Y291dCA8PCAiVmFsdWUgb2Ygb2JqMjogIiA8PCBvYmoyLmdldFZhbHVlKCkgPDwgc3RkOjplbmRsOwoKICAgIHJldHVybiAwOwp9Cg==