C++走向远洋——47(第十二周、运算符重载基础程序、阅读)

*/
 * Copyright (c) 2016,烟台大学计算机与控制工程学院
 * All rights reserved.
 * 文件名:text.cpp
 * 作者:常轩
 * 微信公众号:Worldhello
 * 完成日期:2016年5月14日
 * 版本号:V1.0
 * 问题描述:运算符重载基础程序
 * 程序输入:无
 * 程序输出:见运行结果
 */
#include <iostream>  
using namespace std;  
class Sample  
{  
private:  
    int x;  
public:  
    Sample() {}  
    Sample (int a){x=a;}  
    void disp(){cout<<"x="<<x<<endl;}  
    Sample operator+(Sample &s);  
};  
Sample Sample:: operator+( Sample &s)  
{  
    return Sample(x+s.x);  
}  
int main()  
{  
    Sample obj1(20);  
    Sample obj2(20);  
    Sample obj3;  
    obj3=obj1+obj2;  
    obj3.disp();  
    return 0;  
}  


运行结果:


#include<iostream>  
using namespace std;  
class Wages//“工资”类  
{  
    double base;//基本工资  
    double bonus;//奖金  
    double tax;//税金  
public:  
    Wages(double CBase, double CBonus,double CTax):  
  base(CBase), bonus(CBonus),tax(CTax) {}  
    double getPay()const;//返回应付工资额  
    Wages operator+(Wages w)const;//重载加法  
};  
double Wages::getPay()const  
{  
    return base+bonus-tax;  
}  
Wages Wages::operator+(Wages w)const  
{  
    return Wages(base+w.base,   
        bonus+w.bonus,tax+w.tax);  
}  
int main()  
{  
    Wages wl(2000,500,100),w2(5000,1000,300);  
    cout<<(wl+w2).getPay()<<endl;  
    return 0;  
}  





#include<iostream>  
using namespace std;  
class Pair  
{  
    int m;  
    int n;  
public:  
    Pair(int i, int j):m(i),n(j) {}  
    bool operator >(Pair p) const;   
};  
bool Pair::operator>(Pair p)const  
{  
    if (m!=p.m)   
        return m>p.m;  
    return n>p.n;  
}  
int main()  
{  
    Pair p1(3,4),p2(4,3), p3(4,5);  
    cout<<(p1>p2)<<(p2>p1)<<(p2>p3)<<(p3>p2);  
    return 0;  
}  


posted @ 2016-05-14 22:13  壹言  阅读(172)  评论(0编辑  收藏  举报