一.函数重载定义
C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型不同的问题。
二.函数重载的方式
1.函数的参数个数不同
//参数个数不同
void print(int a, int b)
{
cout << a << b << endl;
}
void print(int a)
{
cout << a << endl;
}
int main()
{
print(1);
print(1, 2);
return 0;
}

编译器会根据你传的参数来看调用哪一种函数。
2.函数的类型不同
void add(int a, int b)
{
cout << a + b << endl;
}
void add(double a, double b)
{
cout << a + b << endl;
}
int main()
{
add(1, 2);
add(1.1, 2.2);
return 0;
}

3.函数类型顺序不同
//不同参数的参数顺序不同
void print(int a, double b)
{
cout << a << b << endl;
}
void print(double a, int b)
{
cout << a << b << endl;
}
int main()
{
print(1, 2.2);
print(1.1, 2);
return 0;
}

4.返回值不同不能构成函数重载
void f(int a, int b)
{
cout << a << b << endl;
}
int f(int a, int b)
{
cout << a << b << endl;
return a;
}
int main()
{
f(1,2);
f(1,2);
return 0;
}
如果这样写,编译器会不知道你要使用哪个函数。


被折叠的 条评论
为什么被折叠?



