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阅读 13,959评论 0 51
  • 函数模板的声明形式为: template<typename数据类型参数标识符> 返回类型 函数名 (参数表) ...
    ssttIsme阅读 3,483评论 0 0
  • 注意:本文中代码均使用 Qt 开发编译环境/*函数模板的声明1.函数模板可以用来创建一个通用功能的函数,以支持多种...
    赵者也阅读 2,649评论 0 0
  • ———《如何阅读一本书》读书笔记1 1我们为什么要阅读 阅读的目的是为了增进理解力,从而帮助我们更好的理解世界。这...
    秋九儿阅读 2,498评论 0 1
  • 女儿今年八岁了,别看她小小年纪,有时说出的话,让我意想不到,甚至陷入思考。 1.每个人都是一面镜子,只能照到别人,...
    悠悠地四月天阅读 2,962评论 8 13