求解C++ 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/21 02:11:35
编写四个名为max的重载函数,分别处理2个或3个整数、2个或3个双精度数的最值情况。

程序运行结果为:
输入两个整数:67 78 最大值是: 78
输入三个整数:55 99 78 最大值是: 99
输入两个双精度数:1.23 4.54 最大值是: 4.54
输入三个双精度数:4.12 12.3 20.8 最大值是: 20.8

我写了两个函数(模版函数),你放在文件里就可以直接调用了:
template<class T>
T max(T a,T b)
{ return a<b? b:a; }
template<class T>
T max(T a,T b,T c)
{
T a1= max(a,b);
T b1= max(a,c);
return max(a1,b1);
}

int max(int a,int b){a>=b?return a:return b;}
int max(int a,int b,int c){三个就两个两个判断}
float max(float a,float b){if (a>b) return a; else return b;}
float max(float a,float b,float c){同上}

三个的时候:
直接 return max(max(a,b),c);吧