首页 > 学院 > 开发设计 > 正文

函数模板

2019-11-10 17:06:42
字体:
来源:转载
供稿:网友
为了加深对函数模板的理解,我们再来看一个求三个数的最大值的例子:
#include <iostream>using namespace std;//声明函数模板template<typename T> T max(T a, T b, T c);int main( ){    //求三个整数的最大值    int i1, i2, i3, i_max;    cin >> i1 >> i2 >> i3;    i_max = max(i1,i2,i3);    cout << "i_max=" << i_max << endl;    //求三个浮点数的最大值    double d1, d2, d3, d_max;    cin >> d1 >> d2 >> d3;    d_max = max(d1,d2,d3);    cout << "d_max=" << d_max << endl;    //求三个长整型数的最大值    long g1, g2, g3, g_max;    cin >> g1 >> g2 >> g3;    g_max = max(g1,g2,g3);    cout << "g_max=" << g_max << endl;    return 0;}//定义函数模板template<typename T>  //模板头,这里不能有分号T max(T a, T b, T c){ //函数头    T max_num = a;    if(b > max_num) max_num = b;    if(c > max_num) max_num = c;    return max_num;}

运行结果:12  34  100↙i_max=10073.234  90.2  878.23↙d_max=878.23344  900  1000↙g_max=1000函数模板也可以提前声明,不过声明时需要带上模板头,并且模板头和函数定义(声明)是一个不可分割的整体,它们可以换行,但中间不能有分号。

 

参考:http://c.biancheng.net/cpp/biancheng/view/136.html

 

注意: 这里可以声明和实现都在cpp里面, 这是与模板类不一样的地方。

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表