*Copyright (c) 2014, 烟台大学计算机学院
*All rights reserved.
*文件名称:week12-project1-5.cpp
*作者:高赞
*完成日期:2014年 11 月 14 日
*版本号:v1.0
*
*问题描述:理解函数模板
*/
#include <iostream>
using namespace std;
template<typename T> //模板声明,其中T为类型参数
T imax(T a,T b,T c) //定义一个通用函数,用T作虚拟的类型名
{
if(b>a) a=b;
if(c>a) a=c;
return a;
}
int main( )
{
int i1=185,i2=-76,i3=567;
double d1=56.87,d2=90.23,d3=-3214.78;
long g1=67854,g2=-912456,g3=673456;
cout<<"i_max="<<imax(i1,i2,i3)<<endl; //调用模板函数,此时T被int取代
cout<<"f_max="<<imax(d1,d2,d3)<<endl; //调用模板函数,此时T被double取代
cout<<"g_max="<<imax(g1,g2,g3)<<endl; //调用模板函数,此时T被long取代
cout<<"c_max="<<imax('1','a','A')<<endl; //调用模板函数,此时T被long取代
return 0;
}
运算结果: