C++函数重载
实际开发中,有时我们要实现的是同一类的功能,只是有些细节不同。例如希望从3个数中找出其中的最大者,而每次求最大数时数据的类型不同,可能是3个整数、3个双精度数或3个长整数。在C语言中,程序员往往需要分别设计出3个不同名的函数,其函数原型与下面类似:
int max1(int a, int b, int c); //求3个整数中的最大者
double max2(double a, double b, double c); //求3个双精度数中最大者
long max3(long a, long b, long c); //求3个长整数中的最大者
但在C++中,这完全没有必要。C++允许多个函数拥有相同的名字,只要它们的参数列表不同就可以。这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。
参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。
【例4.6】求三个数的最大值:
#include <iostream>
using namespace std;
//函数声明
int max(int, int, int);
double max(double, double, double);
long max(long, long, long);
int main( )
{
//求三个整数的最大值
int i1, i2, i3, i_max;
cin >> i1 &g
int max1(int a, int b, int c); //求3个整数中的最大者
double max2(double a, double b, double c); //求3个双精度数中最大者
long max3(long a, long b, long c); //求3个长整数中的最大者
但在C++中,这完全没有必要。C++允许多个函数拥有相同的名字,只要它们的参数列表不同就可以。这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。
参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。
【例4.6】求三个数的最大值:
#include <iostream>
using namespace std;
//函数声明
int max(int, int, int);
double max(double, double, double);
long max(long, long, long);
int main( )
{
//求三个整数的最大值
int i1, i2, i3, i_max;
cin >> i1 &g