你的代码片段最后是未完成的。你可以继续如下编写,补全拷贝构造函数:
#include <iostream>
#include <string>
using namespace std;
// 构造函数:
// C++中的构造函数可以分为哪些类型?
// -按照参数:有参构造、无参构造
// -按照类型:普通构造、拷贝构造
class Person {
public:
string name;
int age;
Person() {}
Person(string name, int age) :name(name), age(age) {}
// 拷贝构造函数
Person(const Person& p) {
cout << "拷贝构造函数调用" << endl;
name = p.name;
age = p.age;
}
};
int main() {
Person p1("张三", 30);
Person p2 = p1; // 调用拷贝构造函数
cout << "p1: " << p1.name << ", " << p1.age << endl;
cout << "p2: " << p2.name << ", " << p2.age << endl;
return 0;
}
在上述代码中,我们定义了一个 Person 类,并提供了一个拷贝构造函数。该函数会在利用一个现有对象创建新对象时被调用。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |