#include <iostream>
using namespace std;
class Per
{
friend const Per operator-(const Per&L,const Per&R);
friend const Per operator*(const Per&L,const Per&R);
friend bool operator<(const Per&L,const Per &R);
friend bool operator!=(const Per&L,const Per &R);
friend Per &operator/=( Per &L,const Per &R);
friend Per &operator%=( Per &L,const Per &R);
private:
int a;
int b;
public:
Per(){}
Per(int a,int b):a(a),b(b)
{}
// const Per operator-(const Per&R) const
// {
// Per temp;
// temp.a=a-R.a;
// temp.b=b-R.b;
// return temp;
// }
// const Per operator*(const Per&R) const
// {
// Per temp;
// temp.a=a*R.a;
// temp.b=b*R.b;
// return temp;
// }
// bool operator<(const Per&R)const
// {
// if( a<R.a && b<R.b)
// {
// return true;
// }
// else
// {
// return false;
// }
// }
bool operator!=(const Per&R)const
{
if( a!=R.a && b!=R.b)
{
return true;
}
else
{
return false;
}
}
// }
// //赋值运算符
// Per &operator/=(const Per &R)
// {
// a/=R.a;
// b/=R.b;
// return *this;
// }
// Per &operator%=(const Per &R)
// {
// a%=R.a;
// b%=R.b;
// return *this;
// }
void show()
{
cout << a << " "<< b << " " <<endl;
}
};
//算术运算符
const Per operator-(const Per&L,const Per&R)
{
Per temp1;
temp1.a=L.a-R.a;
temp1.b=L.b-R.b;
return temp1;
}
const Per operator*(const Per&L,const Per&R)
{
Per temp1;
temp1.a=L.a*R.a;
temp1.b=L.b*R.b;
return temp1;
}
//关系运算符
bool operator<(const Per&L,const Per &R)
{
if(L.a<R.a&&L.b<R.b)
{
return true;
}
else
{
return false;
}
}
bool operator!=(const Per&L,const Per &R)
{
if(L.a!=R.a&&L.b!=R.b)
{
return true;
}
else
{
return false;
}
}
//赋值运算符
Per &operator/=( Per &L,const Per &R)
{
L.a/=R.a;
L.b/=R.b;
return L;
}
Per &operator%=( Per &L,const Per &R)
{
L.a%=R.a;
L.b%=R.b;
return L;
}
int main()
{
//"-"
Per s1(40,30);
Per s2(30,10);
//算术运算符
// Per s3=s1-s2;
// s3.show();
//"*"
// Per s4=s1*s2;
// s4.show();
//关系运算符
// if(s2<s1)
// {
// cout << "s2<s1" << endl;
// }
// if(s2!=s1)
// {
// cout << "s2!=s1"<< endl;
// }
//赋值运算符
// s1/=s2;
// s1.show();
s1%=s2;
s1.show();
return 0;
}