什么是函数重载?试举例说明
时间: 2023-08-08 11:13:27 浏览: 90
函数重载是指在同一个作用域内,可以定义多个名称相同但参数类型、参数个数或参数顺序不同的函数,使得它们可以用相同的函数名进行调用,但实际上调用的是不同的函数。
例如,我们可以定义一个名为"sum"的函数,用于求两个数的和:
```
int sum(int a, int b) {
return a + b;
}
```
但如果我们想要求三个数的和,我们不能再使用同样的函数名"sum",因为函数名相同,编译器无法区分它们。这时候就可以使用函数重载,定义一个新的函数名为"sum",但参数个数改为三个:
```
int sum(int a, int b, int c) {
return a + b + c;
}
```
这样,我们就可以通过不同的参数个数来调用不同的函数,而不需要再为每个函数取不同的函数名。
相关问题
举例说明什么叫函数重载?函数重载有什么作业?
函数重载是指在同一个作用域内,定义多个函数名相同但参数个数、类型、顺序不同的函数,编译器根据实际调用时提供的参数类型、个数、顺序等信息,来确定调用哪个函数。
举个例子,我们可以定义两个名为`add`的函数:
```c++
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
```
这两个函数名称相同,但是参数类型不同,一个是整型,一个是双精度浮点型。当我们调用`add`函数时,编译器会根据传入的参数类型和个数,来确定调用哪个函数。
函数重载的作用可以让我们使用同一个函数名来表示不同的功能,使代码更加简洁易懂。同时,它也可以提高代码的可重用性和可扩展性,方便我们在代码中使用多态。
什么是函数重载,试举例说明
函数重载是指在同一个作用域内,可以定义多个同名但参数列表不同的函数。编译器会根据函数调用时传入的参数类型、个数、顺序等信息,来判断应该调用哪个重载函数。
例如,下面是两个同名但参数列表不同的函数:
```c++
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
```
这两个函数都叫做add,但一个接受两个int参数,一个接受两个double参数。当我们调用add函数时,编译器会根据传入的参数类型来确定应该调用哪个函数:
```c++
int x = add(1, 2); // 调用第一个add函数,返回3
double y = add(1.5, 2.5); // 调用第二个add函数,返回4.0
```
注意,在函数重载时,函数名和返回值类型不参与函数重载的判断,只有参数列表才会被考虑。因此,下面的代码是错误的:
```c++
int add(int a, int b) {
return a + b;
}
double add(int a, int b) {
return a + b;
}
```
这两个函数同样叫做add,且参数列表也相同,因此编译器无法确定应该调用哪个函数,会报重复定义的错误。
阅读全文