Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/9 22:40:05 visual c++中的函数模板
visual c++中的函数模板利用函数重载可以让多个函数使用同一个函数名,如下所示:
Add (int nNum1,int nNum2);Add(long lNum1,long lNum2);Add(float fNum1,float fNum2);Add(double dNum1,double dNum2);
这些函数的功能完全一样,但由于被求和参数的类型不一样,因此,代码不能完全一样,必须为每个重载函数编写实现代码。为了解决这个烦恼,C++提供了函数模板。函数模板是一种不指定某些参数的数据类型的函数,在函数模板被调用时根据实际参数的类型决定这些函数模板的类型。区别于函数重载,函数模板不需要程序员重复编写函数代码,它可用来生成多个功能相同但参数和返回值的类型不同的函数。例如:
templateT add(T val1,T val2){return val1+val2;}
第一行为模板定义,以关键字template开头,尖括号中关键字class后面的表示符T由用户自己定义,它称为类型参数,是函数模板add()中没有确定数据类型的参数val1和val2的类型。定义模板函数时,参数化的数据类型T可以用来定义函数的参数和返回值,在函数体中还可以用来声明工作变量。定义函数模板时,可以使用多个类型参数,每个参数前面只需要加上关键字class,并用逗号分隔,如:template,请看下面使用函数模板的实例:
#include "iostream.h"template T add(T var1,T var2){return var1+var2;}void main(){int a=1,b=2;cout<long c=-12345L,d=-67890L;cout<float e=5.00F,f=6.43F;cout<}
赞