c++--模板

模板是c++實現代碼重用的一種有效機制,模板通過把類型定義爲參數,提高了代碼的可重用性。

1.函數模板

  • 在c++中,函數模版以template<class ElementTpye> 或者template<typename ElementTpye>的形式給出,ElementType爲形式參數,模板的每個形式參數都要在函數參數列表中至少出現一次
int add(int a, int b)
{
    return a + b;
} 

double add2(double a, double b)
{
    return a + b;
}

       先看上面兩個函數,作用都是爲了實現兩個數相加,但是參數和返回的類型不同,除此之外,函數實現部分並沒用差別,因此我們可以採用函數模板來將兩個函數抽象成一個函數;

#include <iostream>
using namespace std;

template<class ElementTpye>
ElementTpye add(ElementTpye a, ElementTpye b)
{
    return a + b;   
} 

int main()
{
    int a = 1, b = 2;
    double c = 2.0, d = 3.1;
    cout << add(a, b) << endl;     //輸出3
    cout << add(c, d) << endl;     //輸出5.1
    return 0;
}

       函數模板實例化時直接將函數add的形式參數替換爲變量a和b的int類型。

發佈了60 篇原創文章 · 獲贊 7 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章