C++:利用函数模版,求三个数的最大,最小和平均值

利用函数模版,求三个数的最大,最小和平均值(整数,双精度)要求:括号中的..要用C++做,不要C语言

第1个回答  2013-10-28
#include <iostream>
using namespace std;

template<class T>
T TMax(T t1, T t2, T t3)
{
T t = t1 > t2 ? t1 : t2;
return t > t3 ? t : t3;
}

template<class T>
T TMin(T t1, T t2, T t3)
{
T t = t1 < t2 ? t1 : t2;
return t < t3 ? t : t3;
}

template<class T>
T TAve(T t1, T t2, T t3)
{
return (t1 + t2 + t3) / 3;
}
int main()
{
int i1=3, i2=4, i3=5;
double d1=6.5, d2=7.5, d3=8.5;
cout << TMax(i1, i2, i3) << " " << TMin(i1, i2, i3) << " " << TAve(i1, i2, i3) << endl;
cout << TMax(d1, d2, d3) << " " << TMin(d1, d2, d3) << " " << TAve(d1, d2, d3) << endl;
return 0;
}本回答被网友采纳
第2个回答  2013-10-28
template<class mun>
class swap
{public:<br/>swap (mum a,mun b,mun c){x=a;y=b;z=c;}
mun max()
{return (x>y?(x>z?x:z):(y>z?y:z));}
mun ave()
{return (x+y+z)/3;}
private:
mun x,y,z;
};
int main()
{swap<int> c(3,7,5);<br/>cout<<c.main();<br/>cout<<c.ave();}
相似回答