函数的默认参数
即在参数列表中给形参赋值
如void test(int a = 10)
1.如果有多个参数,从第一个有默认值的参数开始,往后的每一个参数都得有默认值
2.函数声明和函数定义中只能有一个部分有默认参数(二义性)
函数占位参数
1语法:在定义函数时只写变量的数据类型不写变量名
如void test(int a,int)
第二个参数就是占位参数
2.占位参数可以是默认参数
如:void test(int a,int = 10)
函数重载
作用:
函数名可以相同,提高复用性
条件:
同一个作用域下(如:都是全局函数,在全局作用下)
名称相同
参数类型不同/参数个数不同/参数顺序不同
注意:
1.返回值类型不同不能作为函数重载的条件
2.引用作为重载条件
void test(int& a)
{
cout << a << endl;
}
void test(const int& a)
{
cout << a << endl;
}
int main()
{
int a = 10;
test(a);//调用第一个
test(10);//调用第二个
}
3.谨慎使用默认参数
void test(int a)
{
cout << a << endl;
}
void test(int a,int b = 10)
{
cout << a << endl;
}
int main()
{
test(a);//没办法确定调用哪个函数
}