函数名重载
函数名相同,函数传入的参数必须明确被调用的是哪一个函数。
(传入参数不同:个数、顺序、类型(计算机要能识别出来))
可以参考以下用例,代码如下:
1 void FUNC() {
2
3 }
4 void FUNC(string s) {
5
6 }
7 /*
8 void FUNC(int r){
9
10 }
11 这个函数和下面参数是引用变量的函数只能调用一个(写一个),
12 因为变量p都能传入
13 */
14 void FUNC(int& r) {
15
16 }
17 int main() {
18 /*
19 FUNC(5);
20 //会报错,因为数字5是一个字面量,没有地址,而int&需要传入一个地址
21 */
22 int p = 5;
23 FUNC(p);//换成变量就不会报错,变量有地址
24 }
函数缺省值
函数可以给参数设置默认值,必须从后往前设置。
设置了缺省值(默认值)就可以选择不传相应值过去。
可以参考下面使用用例,代码如下:
1 void C(int a,int b,int c=10) {
2 cout << a << "\t" << b << "\t" << c << endl;
3 }
4
5 void D(int a,int b=5,int c=10) {
6 cout << a << "\t" << b << "\t" << c << endl;
7 }
8
9 //void C(int a = 0;int b;int c=10) {
10 //错误,函数缺省值必须从后往前设置,且不能跃过某一变量设置默认值
11 //}
12 int main() {
13 C(5,4);
14 D(1,2,3);
15 }