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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章