函数提高涉及的内容:
1.函数形参设置默认参数
2.函数形参设置占位参数
3.函数重载(对引用不是很理解先理解引用)
------------------------函数形参可以设置默认参数------------------------
int fun(int a,int b=10,int c=20){//b,c设置了默认参数;
//*****并且,当有一个函数参数有了默认值,那么那个参数从左到右都必须由默认值
return a+b+c;
}
fun(10);//40
fun(10,20);//50,形参依次传递
- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
int fun1(int a=10,int b=10);//函数声明和函数实现只能存在一次默认参数
//int fun1(int a=10,int b=20){//错误
int fun1(int a,int b){//正确
return a+b;
}
-------------------------------------------------------------------------
------------------------函数形参可以设置占位参数---------------------------
语法规则:type name(type){} //也可以默认值
void fun2(int a,int){}//第二个int就是占位参数
void fun3(int a, int=10){}//占位参数的默认参数形式
-------------------------------------------------------------------------
---------------------------------函数重载--------------------------------
作用:函数名相同,根据参数不同,作用不同,提高复用性
函数重载条件:
1.同一个作用域下
2.函数名称相同
3.函数参数类型不同(int、double),或者个数不同,或者顺序不同
ps:函数返回值不同无法实现函数重载
void fun5(int a){} void fun5(int a,int b=10){}
//语法可以通过,但是传递一个参数时编译器报错,无法判断调用哪一个
- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
引用作为引用重载的条件时注意事项:
void fun4(int &a){}=====>fun4(b);//传递的时堆区或者栈区的变量
void fun4(const int &a){}=====>fun4(10);//全局区常量的引用
-------------------------------------------------------------------------