1. 函数默认参数
int fun(int a=10)
{
return a;
}
int a=fun();
cout<<a<<endl;//10
//注意事项:
//1.如果某个位置有了默认参数,那么从这个位置往后,都必须有默认值
//2.如果函数的声明有默认参数,函数实现就不能有默认参数
2. 函数占位参数
//函数形参中可以有占位参数,调用函数时必须填补该位置
void func(int a,int){
cout<<"hhh"<<endl;
}
func(10,20);
//占位参数可以有默认参数
void func(int a,int =10){}
3. 函数重载
//重载条件:
//1.同一个作用域
//2.函数名称相同
//3.函数参数类型不同或个数不同或顺序不同
//4.函数返回值不作为函数重载的条件
void func()
{
cout<<"hhh"<<endl;
}
void func(int a)
{}
func();//调用第一个
//引用作为重载的条件
void func(int &a){}
void func(const int &a){}
func(a);//调用第一个
func(10);//调用第二个
//函数重载碰到默认参数
void func(int a){}
void func(int a,int b=10){}
func(10);//报错,不知道要调哪一个,二义性