1.成员函数版本实现算术运算符的重载,全局函数版本实现算术运算符的重载
#include <iostream>using namespace std;class Room
{friend const Room operator-(const Room &a,const Room &b);
private:string a;int b;
public:Room(){}Room(string a,int b):a(a),b(b){}const Room operator+(const Room &other)const{Room h;h.a = other.a + this->a;h.b = other.b + this->b;return h;}void show(){cout << a << ' ' << b << endl;}
};const Room operator-(const Room &x,const Room &y)
{Room q;//q.a = x.a + y.a;q.b = x.b - y.b;return q;
}int main()
{Room m1("gxy",520);Room m2("rt",1314);Room m3 = m1+m2;m3.show();Room m4 =m1-m2;m4.show();return 0;
}
2.