第八周课后实践:阅读程序

来源:互联网 发布:软件之家官网 编辑:程序博客网 时间:2024/05/19 12:26

(一)

代码:

#include <iostream>using namespace std;class Sample{private:    int x;public:    Sample () { }    Sample(int a){x=a;}    void disp(){cout<<"x="<<x<<endl;}    friend Sample operator+( Sample &s1, Sample &s2);};Sample operator+( Sample &s1, Sample &s2){    return Sample(s1.x+s2.x);}int main(){    Sample obj1(10);    Sample obj2(20);    Sample obj3;    obj3=obj1+obj2;    obj3.disp();    return 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;}


运行结果:

0 0
原创粉丝点击