1、什么是默认参数?
C++在声明函数原型的时候,可以为一个或者多个参数指定默认的参数值,当函数调用的时候如果没有给定实参,编译器会自动用默认值代替。
//在声明的时候设定默认参数
int myAdd(int x=10, int y=20);
void test01()
{
cout<<myAdd()<<endl;//10+20=30
cout<<myAdd(100)<<endl;//100+20=120
cout<<myAdd(100,200)<<endl;//100+200=300
}
注意:
如果某个参数设置成默认参数,那么这个参数右边的所有参数都必须设置默认参数。
2、函数重载
条件:同一作用域下,函数名相同,函数的参数类型、参数个数、参数顺序不同可以重载,返回值类型不能作为函数重载的条件。
//函数重载(一个接口多个功能)
void fun01(int x)
{
cout<<"fun01 int"<<endl;
}
void fun01(int x, int y)
{
cout<<"fun01 int int"<<endl;
}
void fun01(char x)
{
cout<<"fun01 char"<<endl;
}
void test03()
{
fun01(100);
//fun01(100,"hehe");//err
fun01(10,20);
fun01('a');
}