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.