C++ 函数模板

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 14:58   27   0

函数模板:

所谓函数模板就是调用一个通用函数,其类型和参数类型不具体指定,用一个虚拟类型表述

样例表示:

#include<iostream>

using namespace std;

template <class T> //通用调用函数定义 或者 template<typename T>

T max(T a,T b,T c)

{

if(a>b)

{

b=a;

}

if(c>b)

{

b=c;

}

return b;

}

int main()

{

int a,b,c,I;

float f1,f2,f3,F;

long l1,l2,l3,L;

cin>>a>>b>>c;

cin>>f1>>f2>>f3;

cin>>l1>>l2>>l3;

I=max(a,b,c);

F=max(f1,f2,f3);

L=max(l1,l2,l3);

cout<<"整形的最大值:"<<I<<endl;

cout<<"浮点型的最大值:"<<F<<endl;

cout<<"长整型的最大值:"<<L<<endl;

return 0;

}

函数模板定义的一般形式为temple<typename T> 或者 temple<class T>

temple的含义是“模板”,尖括号中险些type或者class,后面跟上一个类型 T ,这个参数类型实际上是虚拟类型,如样例中不同类型进行调用时 T 被赋予成不同的类型,其中类型参数不止一个,根据需要确定的个数如:

template<class T1,class T2>

这样使重载更简洁,但是它只试用参数个数都相同而类型不同的情况,如果参数个数不同不能应用函数模板

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP