Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.02 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class rectangle{
  6. public:
  7.     rectangle(){side_x=0;side_y=0;}
  8.     rectangle(double in1,double in2){side_x=in1;side_y=in2;}    
  9.     void set_x(double in){side_x=in;}
  10.     double get_x(){return side_x;}
  11.     void set_y(double in){side_y=in;}
  12.     double get_y(){return side_y;}
  13.     double area()const{return side_x*side_y;}
  14.     rectangle operator + (const rectangle &rec);
  15.     friend rectangle operator * (const rectangle &rec1,const rectangle &rec2);
  16.     void operator ++ ();
  17.     void operator ++ (int);
  18.     rectangle& operator () (double);
  19.     rectangle& operator ! ();
  20.     bool operator > (const rectangle &rec){
  21.         if (this->area() > rec.area()){
  22.             return true;
  23.         }else {
  24.             return false;  
  25.         }
  26.     }
  27.         bool operator < (const rectangle &rec){
  28.         if (this->area() < rec.area()){
  29.             return true;
  30.         }else {
  31.             return false;  
  32.         }
  33.     }
  34. private:
  35.     double side_x,side_y;
  36. };
  37. rectangle rectangle::operator + (const rectangle &rec){
  38.     rectangle temp;
  39.     temp.side_x = side_x+rec.side_x;
  40.     temp.side_y = side_y+rec.side_y;
  41.     return temp;
  42. }
  43. rectangle operator * (const rectangle &rec1,const rectangle &rec2){
  44.     rectangle temp;
  45.     temp.side_x = rec1.side_x*rec2.side_x;
  46.     temp.side_y = rec1.side_y*rec2.side_y;
  47.     return temp;
  48. }
  49. rectangle& rectangle::operator () (double in){
  50.     this->side_x*=in;
  51.     this->side_y*=in;
  52.     return *this;
  53. }
  54. rectangle& rectangle::operator ! (){
  55.     double temp = this->side_x;
  56.     this->side_x=this->side_y;
  57.     this->side_y=temp;
  58.     return *this;
  59. }
  60. void rectangle::operator ++ (){
  61.     side_x++;
  62.     side_y++;
  63. }
  64.  
  65. void rectangle::operator ++ (int){
  66.     side_x++;
  67.     side_y++;
  68. }
  69. int main(){
  70.     rectangle rec1(3,4),rec2(2,3),rec3,rec4;
  71.     cout<<rec1.get_x()<<","<<rec1.get_y()<<endl;
  72.     ++rec1;
  73.     cout<<rec1.get_x()<<","<<rec1.get_y()<<endl;
  74.     rec1++;
  75.     cout<<rec1.get_x()<<","<<rec1.get_y()<<endl;
  76.     !rec1;
  77.     cout<<rec1.get_x()<<","<<rec1.get_y()<<endl;
  78.     if (rec1 > rec2){cout<<"true"<<endl;}else {cout<<"false"<<endl;}
  79.     if (rec1 < rec2){cout<<"true"<<endl;}else {cout<<"false"<<endl;}
  80.    
  81.  
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement