Advertisement
borisdexter

Operatori

Jan 21st, 2020
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.14 KB | None | 0 0
  1. // bool, class i input/output
  2. // 1) >,>=,<,<=,==,!= bool operator==(class &objekt) ne treba & pred operator
  3. // 2) +,-,++,--,+=,-=  & pred operator
  4. // 3) <<, >>           & pred operator
  5. using namespace std;
  6. class Tocka{
  7. private:
  8.     int x;
  9.     int y;
  10. public:
  11.     Tocka(){}
  12.     Tocka(int x,int y){
  13.     this->x=x;
  14.     this->y=y;
  15.     }
  16.     // sporedba na dva objekti
  17.     bool operator>(Tocka &objekt){
  18.     if(this->x>objekt.x && this->y>objekt.y){
  19.         return true;
  20.     }else{
  21.         return false;
  22.     }
  23.     }
  24.     // sporedba so konkretna vrednost
  25.     bool operator>(int integer){
  26.     if(this->x>integer && this->y>integer){
  27.         return true;
  28.     }else{
  29.         return false;
  30.     }
  31.     }
  32.  
  33.     bool operator>=(Tocka &objekt){
  34.     if(this->x>=objekt.x && this->y>=objekt.y){
  35.         return true;
  36.     }else{
  37.         return false;
  38.     }
  39.     }
  40.  
  41.     bool operator==(Tocka &objekt){
  42.     if(this->x==objekt.x && this->y==objekt.y){
  43.         return true;
  44.     }else{
  45.         return false;
  46.     }
  47.     }
  48.  
  49.     void print(){
  50.     cout<<"x="<<x<<" y="<<y<<endl;
  51.     }
  52.  
  53.     Tocka& operator+=(Tocka &objekt){
  54.     this->x+=objekt.x;
  55.     this->y+=objekt.y;
  56.     return *this;
  57.     }
  58.     // & pred operatorot mora
  59.     Tocka& operator+(Tocka &objekt){
  60.     Tocka nov;
  61.     nov.x=this->x + objekt.x;
  62.     nov.y=this->y + objekt.y;
  63.     return nov;
  64.     }
  65.  
  66.     Tocka& operator-(Tocka &objekt){
  67.     Tocka nov;
  68.     nov.x=this->x - objekt.x;
  69.     nov.y=this->y - objekt.y;
  70.     return nov;
  71.     }
  72.     // prefix
  73.     Tocka& operator++(){
  74.     this->x++;
  75.     this->y++;
  76.     return *this;
  77.     }
  78.  
  79.     // postfix
  80.     Tocka &operator++(int){
  81.     Tocka nov(*this);
  82.     this->x++;
  83.     this->y++;
  84.     return nov;
  85.     }
  86.  
  87.     // input
  88.     friend istream& operator>>(istream &input, Tocka &objekt){
  89.     input>>objekt.x;
  90.     input>>objekt.y;
  91.     return input;
  92.     }
  93.     // output
  94.     friend ostream& operator<<(ostream &output, Tocka &objekt){
  95.     output<<"x="<<objekt.x<<" y="<<objekt.y<<endl;
  96.     return output;
  97.     }
  98.    
  99.    
  100.  
  101.  
  102. };
  103. int main(){
  104. Tocka prv;
  105. cin>>prv;
  106. cout<<prv;
  107. cout<<++prv;
  108. cout<<prv++;
  109. cout<<prv;
  110. return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement