//函数模板可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计。 //声明方法: //template <typename 标识符> #include<iostream.h> template <typename T> T abs(T x) { return x<0 ? -x : x; } int main(void) { int n =- 5; double d =- 5.5; cout << abs(n) << endl; cout << abs(d) << endl; return 0; } //运行结果: //5 //5.5 //分析 :编译器从abs()实参的类型,推导出函数模板的类型参数。 //例如,对于调用表达式abs(n),由于实参n为int型,所以推导出模板中类型参数T为int。 //当类型参数的含义确定后,编译器将以函数模板为样板,生成一个函数: //int abs(int x) //{ // return x<0 ? -x : x; //}