定义一个求三个数中最大值的函数模板,并写出调用此函数模板的完整程序,使得函数调用时可以分别实现三个整型、三个双精度型和三个字符型数据的最大值求解。
#include<iostream>
using namespace std;
template<typename T>
T Max(T a, T b, T c)
{
a=a>b ? a:b;
a=a>c ? a:c;
return a;
}
int main()
{
int a=1,b=2,c=3;
cout << Max(a,b,c) << endl;
double a1=1.1,b1=4.2,c1=3.3;
cout << Max(a1,b1,c1) << endl;
return 0;
}
定义一个求三个数乘积的类模板,并写出使用此类模板的完整程序,使得可以分别实现三个整型和三个双精度型数据的乘积求解。
#include<iostream>
using namespace std;
template<typename T>
T product(T a, T b, T c)
{
return a*b*c;
}
int main()
{
int a=1,b=2,c=3;
cout << product(a,b,c) << endl;
double a1=1.1,b1=4.2,c1=3.3;
cout << product(a1,b1,c1) << endl;
return 0;
}