Advertisement
Guest User

Operatori

a guest
Apr 24th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. class Covek{
  5. private:
  6.     int godini;
  7.     float visina;
  8.     char ime[20];
  9.     int poeni[20];
  10. public:
  11.     Covek(){
  12.     godini=0;
  13.     visina=0;
  14.     strcpy(ime,"");
  15.     }
  16.     Covek(char *ime1,int godini1, float visina1){
  17.      strcpy(ime,ime1);
  18.      godini=godini1;
  19.      visina=visina1;
  20.     }
  21.    void print(){
  22.      cout<<ime<<" "<<godini<<" "<<visina<<endl;
  23.    }
  24.  
  25.    Covek operator %(int n ){
  26.        if(godini%n==0){
  27.          Covek nov(ime,godini+1,visina);
  28.          return nov;
  29.        }else{
  30.         Covek nov(ime,godini-1,visina);
  31.         return nov;
  32.        }
  33.    }
  34. Covek operator =(const Covek &c){
  35.      if(this!=&c){
  36.         strcpy(ime,c.ime);
  37.         godini=c.godini;
  38.         visina=c.visina;
  39.  
  40.      }
  41.   return *this;
  42. }
  43.   bool operator >(const Covek &c){
  44.   if(godini>c.godini){
  45.     return true;
  46.   }else{
  47.     return false;
  48.   }
  49.   }
  50.  
  51.     bool operator ==(char *ime1){
  52.   if(strcmp(ime,ime1)==0){
  53.     return true;
  54.   }else{
  55.     return false;
  56.   }
  57.   }
  58.  
  59.   friend ostream& operator <<( ostream &out, const Covek &c1){
  60.     out<<c1.ime<<" "<<c1.godini<<" "<<c1.visina<<endl;
  61.     return out;
  62.   }
  63.   friend istream& operator>>(istream &in,Covek &c){
  64.     in>>c.ime>>c.godini>>c.visina;
  65.     return in;
  66.   }
  67.  
  68.   Covek operator++(){
  69.     godini=godini+1;
  70.     visina=visina+10;
  71.  
  72.     return *this;
  73.   }
  74.  
  75.   Covek operator++(int){
  76.       Covek tmp(*this);
  77.     godini=godini+5;
  78.     visina=visina+10;
  79.     return tmp;
  80.   }
  81.  
  82.   char operator[](int i){
  83.   return ime[i];
  84.   }
  85.  
  86. //+ - * / % nov
  87. //+= *= -= /= *this
  88. //== > < >= <= !=
  89. // = this
  90. //>> <<
  91. // []
  92. //++ --
  93.  
  94.  
  95. };
  96.  
  97. int main() {
  98. Covek c1("Igor",25,180.5);
  99. Covek c2("Petar",35,185.5);
  100. cout<<c1[2];
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement