为什么会有函数重载
大家在学c语言的时候有没有发现一个问题就是,函数规定的是不是有点太死板了,比如说我要写一个加法函数,这个函数的作用就是实现两个整型的相加,那么我们的函数就得写成这样:
int add(int x, int y)
{
return x + y;
}
但是有时候我们不仅仅要相加整数,我们还得相加两个浮点型的小数,那么我们这里的c语言就不仅仅得改这里的形参的类型和返回的类型了,我们还得修改这里的名字,比如说我们下面的代码:
double add1(double x, double y)
{
return x + y;
}
那如果是两个字符型的相加呢?我们是不是就又得取一个新的名字了啊,那么这不就非常的麻烦嘛对吧,取名字麻烦,等我调用这些函数也非常的麻烦,所以我们就发现c语言中的一个不足就是在用函数来实现一个功能,但是这个功能在面向不同的数据类型或者个数的时候往往得创建多个函数出来,而且这些函数的函数名不能一样,这对于一些取名困难户来说可真是天塌了,那么为了解决这个问题我们的c++就提出来了函数重载这个概念。
函数重载的概念
函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型不同的问题。
函数重载的例子
通过上面的概念我们知道了实现函数重载的前提是同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,那么我们这里就来一一举例子:
第一个:参数的类型不同
int add(int x, int y)
{
return x + y;
}
double add1(double x, double y)
{
return x + y;
}
上面的这两个加法函数就构成了重载,他们的函数名相同,