函数模板在c++里面的坑

一、函数重载ios

//
//  main.cpp
//  inlinefunction
//
//  Created by geek on 15/8/22.
//  Copyright (c) 2015年 geek. All rights reserved.
//
//函数重载,具备相同函数名不一样函数参数
#include <iostream>
using namespace std;
int max(int num1,int num2){
    if(num1>num2){
        return num1;
    }else{
        return num2;
    }
}
double max(double num1,double num2){
    if(num1>num2){
        return num1;
    }else{
    return num2;
    }
}
double max(double num1,double num2,double num3){
    return max(num1,max(num2,num3));
    
}
int main(){
    int num1,num2;
    cout<<"请输入2个整数";
    cin>>num1>>num2;
    cout<<"较大整数为:"<<max(num1,num2);
    double num3,num4;
    cout<<"请输入2个浮点数";
    cin>>num3>>num4;
    cout<<"较大整数为:"<<max(num3,num4);
    double num5,num6,num7;
    cout<<"请输入3个浮点数";
    cin>>num5>>num6>>num7;
    cout<<"较大整数为:"<<max(num5,max(num6,num7));
    return 0;
}

二、函数模板函数

//
//  main.cpp
//  template
//
//  Created by geek on 15/8/22.
//  Copyright (c) 2015年 geek. All rights reserved.
//
//在使用模函数模版时不能使用using namespace std;
#include <iostream>
template <typename T>
T max(T num1,T num2){
    if(num1>num2){
        return num1;
    }else{
        return num2;
    }
    
}
int main(){
    printf("%d",max(5,7));
    return 0;
}
相关文章
相关标签/搜索