c++ 找最大值函數模板使用

#include <iostream>
using namespace std;
template<typename T>T Max(T x, T y);
int Max(int x, int y) {
    return x > y ? x : y;
}

int main() {
    int x = 1, y = 2;
    cout << Max(x, y) << endl;
    double douX = 3.4, douY = 5.6;
    cout << Max<double>(douX, douY) << endl;
    cout << Max('A', 'B')<<endl;
    system("pause");
    return 0;
}
template <typename T>
T Max(T x, T y) {
    return x > y ? x : y;
}


// 函數和普通函數的使用
#include <iostream>
using namespace std;
template <typename T>
T Max(T x, T y) {
    return x > y ? x : y;
}
template<typename T>
T Max(T a[],int n)
{
    T max = a[0];
    for (int i = 0; i < n; i++)
    {
        if (max<a[i])
        {
            max = a[i];
        }
    }
    return max;
}
int main() {
    cout << Max(4, 5) << endl;
    int b[] = { 2,4,5,10,4,2 };
    cout << Max(b,sizeof(b)) << endl;
    system("pause");
    return 0;
}

// 
#include <iostream>
using namespace std;
int Max(int x, int y) {
    cout << "Normal Max" << endl;
    return x > y ? x : y;
}
template <typename T>
T Max(T x, T y) {
    cout << "template Max" <<sizeof(x)<< endl;
    return x > y ? x : y;
}

int main() {
    int ix = 4, iy = 6;
    char c1 = 'a', c2 = 'c';
    int res = Max(ix, iy);
    char res1 = Max(c1, c2);
    int res2 = Max(c1, c2);
    char res3 = Max(ix, iy);
    system("pause");
    return 0;
}


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 本次是接著前面的例子使用模板函數來更方便的計算三個數的最大值。 代碼程序 運行結果 代碼解析 1.在c++當中使用...
    ppmoon閱讀 11,622評論 0 51
  • 函數模板的聲明形式為: template<typename數據類型參數標識符> 返回類型 函數名 (參數表) ...
    ssttIsme閱讀 543評論 0 0
  • 注意:本文中代碼均使用 Qt 開發編譯環境/*函數模板的聲明1.函數模板可以用來創建一個通用功能的函數,以支持多種...
    趙者也閱讀 344評論 0 0
  • ———《如何閱讀一本書》讀書筆記1 1我們為什么要閱讀 閱讀的目的是為了增進理解力,從而幫助我們更好的理解世界。這...
    秋九兒閱讀 328評論 0 1
  • 女兒今年八歲了,別看她小小年紀,有時說出的話,讓我意想不到,甚至陷入思考。 1.每個人都是一面鏡子,只能照到別人,...
    悠悠地四月天閱讀 397評論 8 13