默认参数
int func(int a,int b,int c);//函数声明
//函数声明和定义里不能同时定义默认参数
int main(){
cout<<func(10,30,30);//此时输出70
//默认参数可被改变
}
int func(int a,int b=20,int c=30){
return a+b+c;
}
//一旦函数的某个默认参数改变,那么从该参数开始之后的全部参数均需赋默认值
占位参数
int func(int a,int=10){
return a;
//占位函数也可以赋默认值
}
int main(){
cout<<func(10);
//此时可只传递一个值
}
函数重载
满足条件:
- 必须在同一个作用域下
- 函数名称相同
- 函数参数类型不同,或顺序不同,或个数不同
void func(int a){
cout<<"this is a function"
}
void func(){
cout<<"this is a function!"
}
void func(double b){
cout<<"this is a function?"
}
//函数的返回值不作为重载的条件
注意事项:
避免在重载函数中使用默认参数