All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
visual c++中的函数模板

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 22:40:05 Browse times: 337 Comment times: 0

visual c++中的函数模板


Head photo

Go homepage
Upload pictures
Write articles

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




There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.