函数提高
2020-04-29 本文已影响0人
温柔倾怀
函数的默认参数
如果声明中有默认函数,那实现中就不能有默认参数
int Sum(int a = 10, int b = 20); //声明
int Sum(int a,int b) //实现
{
return a + b;
}
cout << Sum() << endl;
cout << Sum(3,4) << endl;
函数的占位参数
void func(int a, int);
void func(int a, int = 10);
函数重载
- 函数名相同,提高复用性
- 参数类型、个数、顺序 不同
- 函数返回值不可以作为函数重载的条件
- 同一个作用域
void func(int a);
void func(int a, int b);
引用作为重载的条件
void func(int &a); //变量传入 走这个
int a = 10;
func(a); //变量传入
void func(const int &a);
func(10);
//const int &a = 10; 合法,加const 相当于创建了一个临时变量,把10赋给他,让a指向这个临时的空间
//int &a = 10; 不合法
函数重载碰到默认参数
void func(int a);
void func(int a, int b = 10);
//语法是通过的
func(10);
//实际上存在二义性,无法进行调用