-
Notifications
You must be signed in to change notification settings - Fork 0
/
demo15.cpp
48 lines (47 loc) · 1.02 KB
/
demo15.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
using namespace std;
class Person
{ //构造函数
public:
Person()
{
cout << "Person的无参构造函数调用" << endl;
}
Person(int a)
{
cout << "Person的有参构造函数调用" << endl;
}
//拷贝构造函数
Person(const Person &p)
{ //将传入的人身上的所有属性,拷贝到我身上
cout << "Person的拷贝构造函数调用" << endl;
age =p.age;
}
~Person()
{
cout << "Person的析构函数调用" << endl;
}
int age;
};
void test01()
{
//1.括号法
// Person p1; //默认构造函数调用
// Person p2(10);//有参构造函数
// Person p3(p2);//拷贝构造函数
//2.显示法
// Person p1;
// Person p2 = Person(10); //有参构造
// Person p3 = Person(p2); //拷贝构造
// Person(10); //匿名对象 特点:当前行执行结束后,系统会立即回收掉匿名对象
// cout << "aaaaa" << endl;
//3.隐式转换法
Person p4 = 10; //相当于 写了 Person p4 = Person(10);
Person p5 = p4;
}
int main()
{
test01();
system("pause");
return 0;
}