/*****************************************************************
*时间:2012年10月17日10:35:49 *
*描述:函数模板的使用 *
*格式:template <typename T>//模板声明,其中T为类型参数 也可以是 *
* template <class T> *
* T max(T a, T b, T c)//定义一个通用函数,用T作虚拟的类型名 *
*****************************************************************/
# include <iostream>
using namespace std;
template <typename T>//模板声明,其中T为类型参数
T max(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, i;
double d1 = 56.87, d2 = 90.23, d3 = -3214.78, d;
long g1 = 67854, g2 = -912456, g3 = 673456, g;
i = max(i1, i2, i3);//调用模板函数,此时T被int取代
d = max(d1, d2, d3);//调用模板函数,此时T被double取代
g = max(g1, g2, g3);//调用模板函数,此时T被long取代
cout<<"i_max = "<<i<<endl;
cout<<"d_max = "<<d<<endl;
cout<<"g_max = "<<g<<endl;
return 0;
}
/*****************************
*在vc++6.0中运行的结果是: *
* ------------------------- *
* i_max = 567 *
* d_max = 90.23 *
* g_max = 673456 *
* ------------------------- *
*****************************/
函数模版的使用简单举例
最新推荐文章于 2023-06-24 17:58:06 发布