//5、隐式法 Person p6 = 10;//等同于 Person p6 = Person(10); Person p7 = p6;//等同于 Person p6 = Person(p6); } intmain(){ test01(); system("pause"); return0; }
运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Person 的无参构造函数的调用 Person 的有参构造函数的调用 Person 的拷贝构造函数的调用 p2的年龄:10 p3的年龄:10 Person 的有参构造函数的调用 Person 的拷贝构造函数的调用 Person 的有参构造函数的调用 Person 的析构函数的调用 aaaa Person 的有参构造函数的调用 Person 的拷贝构造函数的调用 Person 的析构函数的调用 Person 的析构函数的调用 Person 的析构函数的调用 Person 的析构函数的调用 Person 的析构函数的调用 Person 的析构函数的调用 Person 的析构函数的调用
#include<iostream> usingnamespacestd; intfunc(int a, int b = 10, int c = 20){ return a + b + c; } intmain(){ cout << func(10) << endl; cout << func(10, 10, 10) << endl; return0; }
运行结果:
1 2
40 30
2. 函数的占位参数
c++中函数的形参列表里可以有占位参数,用来做占位,调用函数时必须填补该位置。
语法:返回值类型 函数名 (数据类型){}
占位参数可以有默认参数。
1 2 3 4 5 6 7 8 9 10
#include<iostream> usingnamespacestd; voidfunc(int a , int = 10){ cout << "this is a func" << endl; } intmain(){ func(10, 10);//占位参数必须填补 func(20);//占位参数有默认参数 return0; }