c++模板函数

1.模板函数的作用

模板函数的作用是定义一个通用类型的函数,以便更好的复用。
假设你需要实现一个两个整数相加的c++函数。最简单最容易想到的是如下方式

   //整形加法
   int add(int a, int b)
   {
       return a+b;
   }

再写一个浮点数相加的函数,于是复制上面代码

   //浮点数加法
   float add(float a, float b)
   {
       return a+b;
   }

在写一个整数和浮点数相加的函数???。。。。。
同样的功能不同的参数却要学这么多次,显然不是一个好的方法,还好有模板函数,只需要定义一个模板函数,然后传递不同参数即可。

2.模板函数的定义

template<class T1,class T2,.....,class Tn>//定义用到数据格式T1,T2
Tm functionName(T1 x1,T2 x2,...)  //Tm为定义的返回值的类型
{
    //函数体
}

下面用模板函数的方式实现不同类型数的相加

#include<iostream>
using namespace std;
template<class T1, class T2>
T2 abc(T1 a,T2 b) //这里返回值为T2类型
{
    return a+b;
}

int main(){

    int x=1,y=1;
    //整形相加 
    cout<<abc(x,y)<<endl;
    float x1=1.10,y1=1.10;
    //浮点型相加 
    cout<<abc(x1,y1)<<endl;
    //整形加浮点型
    cout<<abc(x,y1)<<endl; 

    return 0;

}

运行结果图如下:
这里写图片描述

发布了42 篇原创文章 · 获赞 26 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章