注册 登录
编程论坛 C++教室

函数模板的使用

hmsabc 发布于 2010-08-11 08:36, 621 次点击
程序代码:
//函数模板的使用
#include <iostream>
using namespace std;
template<class T>                       //声明模板,用关键字 “template”,其中 T 为类型参数
//template<typename 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 m1 = 20,m2 = 21,m3 = 25,m;
    double n1 = 12.81,n2 = 15.56,n3 =16.79,n;
    long g1 = 67854,g2 = -912456,g3 = 673459,g;
    m = max( m1,m2,m3);                            //调用模板函数,此时 T 被 int 取代,函数返回的值被赋给 m
    n = max( n1,n2,n3);                            //调用模板函数,此时 T 被 double 取代,函数返回的值被赋给 n
    g = max( g1,g2,g3);
    cout << "m_max = " << m << endl;
    cout << "n_max = " << n << endl;
    cout << "g_max = " << g << endl;
    system("pause");
    return 0;
}/*

 用函数模板比函数重载更方便,程序更简洁。但应注意它只适用于函数体相同、函数的参数个数相同而类型不同的情况。

 定义函数模板的一般形式为: template< typename T> 或 template< class T>

 
*/
0 回复
1