一、函数重载的概念
只要函数参数表不同,C++允许多个函数取相同的名字,这叫做函数的重载。在调用同名函数时,编译器根据函数调用语句中的实参的个数和类型来判断调用哪个函数,所以在要调用的函数语句中,所写的实参必须和参数表中的形参个数和类型匹配。
二、例题分析
以下是一道例题:
题目:编写重载函数Max可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值。
分析:题目要求写一个重载函数Max,并说明了函数参数表的实参个数和类型,只要写一个能实现输出所给参数最大值的代码, 再设计数据进行测试就可以了。
程序代码:
#include<iostream>
using namespace std;
int Max(int a,int b){
cout<<"Max is "<<(a>b?a:b)<<endl;//如果a>b就输出a,如果a<b就输出b
}
int Max(int a,int b,int c){
int d;
if(a>b)d=a;
else d=b; //取a和b的最大值,并令d等于最大值
cout<<"Max is "<<(c>d?c:d)<<endl;//如果c>d就输出c,如果c<d就输出d
}
double Max(double a,double b){
cout<<"Max is "<<(a>b?a:b)<<endl;
}
double Max(double a,double b,double c){
double i;
i