构造函数与复制构造函数的实例
时间: 2023-09-10 08:08:40 浏览: 113
下面是一个使用构造函数和复制构造函数的实例:
```c++
#include <iostream>
#include <string>
using namespace std;
class Person {
public:
// 构造函数
Person(string name, int age) : m_name(name), m_age(age) {
cout << "构造函数被调用!" << endl;
}
// 复制构造函数
Person(const Person& p) : m_name(p.m_name), m_age(p.m_age) {
cout << "复制构造函数被调用!" << endl;
}
string getName() const {
return m_name;
}
int getAge() const {
return m_age;
}
private:
string m_name;
int m_age;
};
int main() {
// 使用构造函数创建对象
Person p1("小明", 18);
cout << "p1 姓名:" << p1.getName() << ",年龄:" << p1.getAge() << endl;
// 使用复制构造函数创建对象
Person p2 = p1;
cout << "p2 姓名:" << p2.getName() << ",年龄:" << p2.getAge() << endl;
return 0;
}
```
在上面的代码中,我们定义了一个名为 `Person` 的类,该类具有构造函数和复制构造函数。我们使用构造函数创建了一个 `Person` 类型的对象 `p1`,然后使用复制构造函数创建了一个名为 `p2` 的新对象,该对象是 `p1` 的副本。在输出语句中,我们打印了 `p1` 和 `p2` 的姓名和年龄信息,以便验证复制构造函数的工作原理。
阅读全文