#include<iostream>
using namespace std;
//函数重载:指的是有两个或以上的函数名字相同,但是函数参数的类型或个数不同;
int MAX(int a,int b)
{
cout<<__func__<<"int,int"<<endl;
return a>b?a:b;
}
char MAX(char a,char b)
{
cout<<__func__<<"char,char"<<endl;
return a>b?a:b;
}
double MAX(double a, double b)
{
cout<<__func__<<"double,double"<<endl;
return a>b?a:b;
}
int main()
{
//当在同一个作用域内出现两次及以上的声明,那么就会发生歧义
int MAX(int,int);
char MAX(char,char);
cout<<MAX(10,20)<<endl;
cout<<MAX('a','b')<<endl;
cout<<MAX(787.798,6798.6798)<<endl;
}