五、C++复习——函数重载
函数重载:用同一个函数名定义不同的函数,当函数名和不同的参数类型搭配时函数的含义不同。
1 重载规则
-
函数名相同。
-
参数个数不同,参数的类型不同,参数类型顺序不同,均可构成重载。
2 重载底层实现
其实C++编译的时候,编译器会通过更改函数名,区分参数不同的同名函数。
实现原理: 用 v c i f l d
表示 void char int float long double
及其引用。
void func (char a); /* 更改函数名为func_c */
void func (char a, int b, double c); /* 更改函数名为func_cid */
3 函数重载与函数默认参数
一个函数,不能即作重载,又作默认参数的函数。当你少写一个参数时,系统无法确认是调用哪个函数。存在二义性。int func (int a, int b, int c = 0) {
return a + b;
}
int func (int a, int b) {
return a + b;
}