c++重载利用重载求两个整数,三个整数,四个整数的最小值c++

利用重载求两个整数,三个整数,四个整数的最小值

int min(int a,int b)
{
return a<b?a:b;
}
int min(int a,int b,int c)
{
int d=a<b?a:b;
return c<d?c:d;
}
int min(int a,int b,int c,int d)
{
int e=a<b?a:b;
int f=c<d?c:d;
return e<f?e:f;
}

上面用的三元运算符。也可以用判断做:

int min(int a,int b)
{
int min=a;
if(b<min)min=b;
return min;
}
int min(int a,int b,int c)
{
int min=a;
if(b<min)min=b;
if(c<min)min=c;
return min;
}
int min(int a,int b,int c,int d)
{
int min=a;
if(b<min)min=b;
if(c<min)min=c;
if(d<min)min=d;
return min;
}

以上只针对作业。其实最正规的做法应该是这样:

int min(params int[] a)
{
int min=a[0];
for(int i=1;i<sizeof(a);i++)
{
if(a[i]<min)min=a[i];
}
return min;
}

根本用不着什么鬼重载