用重载函数实现两个整数和三个整数的排序,按照从小到大的顺序将排序结果输出。

1.声明函数sort为重载函数,并根据参数个数的不同分别进行定义;
2.在main中用cin分别输入两个整数和三个整数;
3.根据参数个数的不同,调用不同的函数,从而实现重载。

int main(){     int a,b;     int c,d,e;     cout<<"请输入两个整数:"<<endl;     cin>>a>>b;     sort(a,b);     cout<<"排序之后:"<<a<<" "<<b<<" "<<endl;     cout<<"请输入三个整数:

<<endl;     cin>>c>>d>>e;     sort(c,d,e);     cout<<"排序之后:"<<c<<" "<<d<<" "<<e<<" "<<endl;    getchar();    getchar();     return 0;}

public void sort ( int a, int b)

{

Console.WriteLine("两整数从小到大依次为{0}、{1}",a<=b?a:b,a>b?a:b);

}

public void sort(double a, double b,double c)

{

double max ,mid,min;

if(a-b>=0.0)

{max=a; min=b;}

else

{max=b;min=a;}

if(max-c<0.0)

{ mid=max; max=c;}

else if(min-c>0.0)

{ mid=min; min=c;}

else

mid =c;

Console.WriteLine("三个实数从小到大依次为{0}、{1}、{2}",min,mid,max);

}

扩展资料:

C++的这种编程机制给编程者极大的方便,不需要为功能相似、参数不同的函数选用不同的函数名,也增强了程序的可读性。

C++运算符重载的相关规定如下:

(1)不能改变运算符的优先级

(2)不能改变运算符的结合型;

(3)默认参数不能和重载的运算符一起使用;

(4)不能改变运算符的操作数的个数;

参考资料来源:百度百科-重在函数

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-07-26

源代码如下:

#include <iostream>
using namespace std;
void sort(int &a,int &b)

    int temp; 
    if (a>b) 
    {  
        temp = a;  
        a = b;  
        b = temp;
    }
}
void sort(int &a,int &b,int &c)

    int temp[3]; 
    if (b>a) 
    {  
       temp[0] = a; 
       temp[1] = b;  
    if (c>b)   
       temp[2] = c;  
    else  
     {   
       if (c<a)   
       {   
         temp[0] = c;    
         temp[1] = a;    
         temp[2] = b;   
       }   
       else   
       {    
         temp[1] = c;    
         temp[2] = b;   
       }  
     } 
    } 
    else 
    {  
    temp[0] = b;  
    temp[1] = a;  
    if (a>c)  
    {   
        if (b>c)   
        {    
            temp[0] = c;    
            temp[1] = b;    
            temp[2] = a;   
        }   
        else   
        {    
            temp[1] = c;    
            temp[2] = a;   
        }  
    }  
    else   
      temp[2] = c; 
    } 
    a = temp[0]; 
    b = temp[1]; 
    c = temp[2];
}

int main()

    int a,b; 
    int c,d,e; 
    cout<<"请输入两个整数:"<<endl; 
    cin>>a>>b; 
    sort(a,b); 
    cout<<"排序之后:"<<a<<" "<<b<<" "<<endl; 
    cout<<"请输入三个整数:"<<endl; 
    cin>>c>>d>>e; 
    sort(c,d,e); 
    cout<<"排序之后:"<<c<<" "<<d<<" "<<e<<" "<<endl;
    getchar();
    getchar(); 
    return 0;
}

用重载函数实现两个整数和三个整数的排序,按照从小到大的顺序将排序结果...
c = temp[2];}int main(){ int a,b; int c,d,e; cout<<"请输入两个整数:"<<endl; cin>>a>>b; sort(a,b); cout<<"排序之后:"<<a<<" "<<b<<" "<<endl; cout<<"请输入三个整数:"<<endl; cin>>c>>d>>e; sort(c,d,e); cout<...

用重载函数实现两个整数和三个整数的排序,按照从小到大的顺序将排序结果...
int main(){ int a,b; int c,d,e; cout<<"请输入两个整数:"<<endl; cin>>a>>b; sort(a,b); cout<<"排序之后:"<<a<<" "<<b<<" "<<endl; cout<<"请输入三个整数:<<endl; cin>>c>>d>>e; sort(c,d,e); cout<<"排序之后:"<<c...

编写重载函数Max可分别求取两个整数,三个整数,两个双精度数,三个双精度...
int Max(int x, int y){ return x>y?x:y;} int Max(int x, int y, int z){ return (x>y && x>z)?x:(y>z?y:z);} double Max(double x, double y){ return x>y?x:y;} double Max(double x, double y, double z){ return (x>y && x>z)?x:(y>z?y:z);} ...

用vs编写c++重载函数maxl可以分别求两个整数,三个整数,两个三精度...
double max(double f1, double f2){ return (f1>f2)?f1:f2;} double max(double x1,double x2,double x3){ double y = max(x1,x2); return (y>x3)? y:x3;} int main(){ int x1=1, x2=3, x3=2;printf("max(%d,%d)= %d\\n", x1, x2, max(x1, x2));printf("max(%...

用函数模板实现重载函数max1可分别求取两个整数,三个整数,两个双精度数...
T max(T a, T b, T c=0){ T n;if(!c) c=a; \/\/对于两个形参也可以,但是对于三个形参,在调用函数的时候如果a,b,c,中有一个为零,有意识的使其c!=0就OK~n = a > b ? a : b;n = n > c ? n : c;return n;} 这个是有问题的,要是a和b都是负数,而c为0时...

编写程序,实现两个整数和三个整数的加法(其中add()函数设计成重载函数...
1、两个整数进行异或运算,可以获得不带进位的和,两个整数进行与运算然后左移一位,可获取其进位的值,将所得数字继续相同的步骤,直到进位的值为 0 。2、根据算法思想,编码实现算法。3、编写测试代码。4、运行测试代码,观察舒服,符合预期。5、平台提交算法,测试通过。

编写重载函数Max 1可分别求取两个整数,三个整数,两个双精度数,三个双...
return a;if(b-c>0.00001)return b;else return c;} void main(){ int a=2, b=5, c=6;double a1=2.14,b1=3.14,c1=5.5;cout<<max(a,b)<<endl;cout<<max(a,b,c)<<endl;cout<<max(a1,b1)<<endl;cout<<max(a1,b1,c1)<<endl;} 另外,站长团上有产品团购,便宜有保证 ...

用函数重载形式实现2个或者3个整数相加 相减
int addsub(int nA, int nB, bool bAdd){ if(bAdd) return nA+nB;return nA-nB;} int addsub(int nA, int nB, int nC, bool bAdd){ if(bAdd) return nA+nB+nC;return nA-nB-nC;}

c++分别对三个整数,三个实数,三个字符从小到大排序,用重载函数实现
利用C++重载函数、引用和冒泡排序分别实现三个整数、三个实数、三个字符的升序排序,参考代码如下:include<iostream>using namespace std;void sort(int &a,int &b,int &c){int t;if(a>b)t=a,a=b,b=t;if(b>c)t=b,b=c,c=t;if(a>b)t=a,a=b,b=t;}void sort(float &a,float...

用c++编写重载函数max1课分别求取2个整数、3个整数、2个双精度数和3个...
c++编写 include <iostream> using namespace std;int Max1(int a,int b){ if(a>b)return a;else return b;} double Max1(double x,double y){ if(x>y)return x;else return y;} int Max1(int a,int b,int c){ return Max1(a,Max1(b,c));} double Max1(double x,double ...

相似回答