Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 22:40:05
visual c++中的函数模板

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++提供了函数模板。

函数模板是一种不指定某些参数的数据类型的函数,在函数模板被调用时根据实际参数的类型决定这些函数模板的类型。区别于函数重载,函数模板不需要程序员重复编写函数代码,它可用来生成多个功能相同但参数和返回值的类型不同的函数。

例如:



template

T 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<
}



If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759