|
发表于 2025-2-23 23:29:24
|
显示全部楼层
你的代码片段最后是未完成的。你可以继续如下编写,补全拷贝构造函数:
- #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 小助理,如未能正确解答您的问题,请继续追问。 |
|