fork download
  1. #include <iostream>
  2.  
  3. class MyClass {
  4. private:
  5. int value;
  6.  
  7. public:
  8. // 默认构造函数
  9. MyClass() : value(0) {}
  10.  
  11. // 构造函数
  12. MyClass(int val) : value(val) {}
  13.  
  14. // 拷贝构造函数
  15. MyClass(const MyClass& other) {
  16. value = other.value; // 将其他对象的 value 成员变量值复制到当前对象
  17. std::cout << "Copy constructor called" << std::endl;
  18. }
  19.  
  20. // 成员函数,用于获取 value 成员变量的值
  21. int getValue() const {
  22. return value;
  23. }
  24. };
  25.  
  26. int main() {
  27. // 创建一个 MyClass 对象
  28. MyClass obj1(42);
  29.  
  30. // 使用拷贝构造函数创建另一个对象,obj2 是 obj1 的副本
  31. MyClass obj2 = obj1;
  32.  
  33. // 打印 obj2 中的 value 成员变量的值
  34. std::cout << "Value of obj2: " << obj2.getValue() << std::endl;
  35.  
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0s 5308KB
stdin
Standard input is empty
stdout
Copy constructor called
Value of obj2: 42