函数模板的使用
程序代码:
//函数模板的使用 #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> */