- #include
-
- using namespace std;
-
- class Stu
- {
- friend const Stu operator*(const Stu &L,const Stu &R);
- friend const Stu operator+(const Stu &L,const Stu &R);
- friend const Stu operator-(const Stu &L,const Stu &R);
- friend const Stu operator/(const Stu &L,const Stu &R);
- friend bool operator>(const Stu &L,const Stu &R);
- friend bool operator<(const Stu &L,const Stu &R);
- friend bool operator>=(const Stu &L,const Stu &R);
- friend bool operator<=(const Stu &L,const Stu &R);
- friend bool operator!=(const Stu &L,const Stu &R);
- friend Stu &operator+=(Stu &L,const Stu &R);
- friend Stu &operator-=(Stu &L,const Stu &R);
- friend Stu &operator*=(Stu &L,const Stu &R);
- friend Stu &operator/=(Stu &L,const Stu &R);
-
- private:
- int a;
- int b;
- public:
- Stu(){}
- Stu(int a,int b):a(a),b(b)
- {}
- const Stu operator-(const Stu &R)const
- {
- Stu temp;
- temp.a=this->a-R.a;
- temp.b=this->b-R.b;
- return temp;
- }
-
- const Stu operator+(const Stu &R)const
- {
- Stu temp;
- temp.a=this->a+R.a;
- temp.b=this->b+R.b;
- return temp;
- }
-
- const Stu operator*(const Stu &R)const
- {
- Stu temp;
- temp.a=this->a*R.a;
- temp.b=this->b*R.b;
- return temp;
- }
-
- const Stu operator/(const Stu &R)const
- {
- Stu temp;
- temp.a=this->a/R.a;
- temp.b=this->b/R.b;
- return temp;
- }
-
-
- bool operator>(const Stu &R)const
- {
- if(a>R.b && b>R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator<(const Stu &R)const
- {
- if(a
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator==(const Stu &R)const
- {
- if(a==R.b && b==R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator<=(const Stu &R)const
- {
- if(a<=R.b && b<=R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator>=(const Stu &R)const
- {
- if(a>=R.b && b>=R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator!=(const Stu &R)const
- {
- if(a!=R.b && b!=R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- Stu &operator+=(const Stu &R)
- {
- a+=R.a;
- b+=R.b;
- return *this;
- }
- Stu &operator-=(const Stu &R)
- {
- a-=R.a;
- b-=R.b;
- return *this;
- }
- Stu &operator*=(const Stu &R)
- {
- a*=R.a;
- b*=R.b;
- return *this;
- }
- Stu &operator/=(const Stu &R)
- {
- a/=R.a;
- b/=R.b;
- return *this;
- }
-
- void show()
- {
- cout << "a= " << a << "b= " << b << endl;
- }
-
-
- };
- const Stu operator*(const Stu &L,const Stu &R)
- {
- Stu temp;
- temp.a = L.a * R.a;
- temp.b = L.b * R.b;
- return temp;
- }
- const Stu operator+(const Stu &L,const Stu &R)
- {
- Stu temp;
- temp.a = L.a + R.a;
- temp.b = L.b + R.b;
- return temp;
- }
- const Stu operator-(const Stu &L,const Stu &R)
- {
- Stu temp;
- temp.a = L.a - R.a;
- temp.b = L.b - R.b;
- return temp;
- }
- const Stu operator/(const Stu &L,const Stu &R)
- {
- Stu temp;
- temp.a = L.a / R.a;
- temp.b = L.b / R.b;
- return temp;
- }
-
- bool operator>(const Stu &L,const Stu &R)
- {
- if(L.a > R.a && L.b > R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator<(const Stu &L,const Stu &R)
- {
- if(L.a < R.a && L.b < R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator>=(const Stu &L,const Stu &R)
- {
- if(L.a >= R.a && L.b >= R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator<=(const Stu &L,const Stu &R)
- {
- if(L.a <= R.a && L.b <= R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool operator!=(const Stu &L,const Stu &R)
- {
- if(L.a != R.a && L.b != R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- Stu &operator+=(Stu &L,const Stu &R)
- {
- L.a+=R.a;
- L.b+=R.b;
- return L;
- }
- Stu &operator-=(Stu &L,const Stu &R)
- {
- L.a-=R.a;
- L.b-=R.b;
- return L;
- }
- Stu &operator*=(Stu &L,const Stu &R)
- {
- L.a*=R.a;
- L.b*=R.b;
- return L;
- }
- Stu &operator/=(Stu &L,const Stu &R)
- {
- L.a/=R.a;
- L.b/=R.b;
- return L;
- }
- int main()
- {
- Stu s1(500,500);
- Stu s2(250,250);
- //Stu s3=s1-s2;
-
- // Stu s3=s1*s2;
- // s3.show();
- // if(s1>s2)
- // {
- // cout << "s1 > s2" << endl;
- // }
- // s2+=s1;
- s2.show();
-
- return 0;
- }
