拷贝构造函数的调用时机
拷贝构造函数的调用时机通常有三种
- 使用一个已经创建完成的对象来初始化一个新对象
- 以值传递的方式给函数的参数传值
- 以值的方式返回局部对象
下方所有文本均以此代码为基础


1 class Person {
2 public:
3 Person() {
4 cout << "无参构造函数" << endl;
5 mAge = 10;
6 }
7
8 Person(int age) {
9 cout << "有参构造函数" << endl;
10 mAge = age;
11 }
12 Person(const Person& p) {
13 cout << "拷贝构造函数" << endl;
14 mAge = p.mAge;
15 }
16
17 ~Person() {
18 cout << "析构函数!" << endl;
19 }
20 int mAge;
21 };


