Advertisement
Guest User

operatori

a guest
Apr 23rd, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. /*
  5. ++
  6. --
  7. +=
  8. -=
  9. >>
  10. <<
  11. ==
  12. >
  13. <
  14. >=
  15. <=
  16. !=
  17. */
  18. class Covek{
  19.  private:
  20.      char ime[20];
  21.      int godini;
  22.      float visina;
  23.  public:
  24.     Covek(){
  25.     godini=0;
  26.     visina=0;
  27.     strcpy(ime,"");
  28.     }
  29.     Covek(char *ime1,int godini1, float visina1){
  30.      strcpy(ime,ime1);
  31.      godini=godini1;
  32.      visina=visina1;
  33.     }
  34.     void pecati(){
  35.      cout<<ime<< " "<<godini<<" "<<visina<<endl;
  36.  
  37.     }
  38.  
  39.     Covek operator --(){
  40.     godini+=1;
  41.     return *this;
  42.     }
  43.         Covek operator --(int ){
  44.             Covek tmp=*this;
  45.     godini+=1;
  46.     visina+=5;
  47.     return tmp;
  48.     }
  49.  
  50.     friend ostream& operator <<(ostream &o, Covek &c){
  51.     o<<c.ime<<" "<<c.godini<<" "<<c.visina<<endl;
  52.     return o;
  53.  
  54.     }
  55.  
  56.     friend istream& operator>>(istream &i,Covek &c){
  57.       i>>c.ime>>c.godini>>c.visina;
  58.       return i;
  59.     }
  60.  
  61.     Covek operator +=(int k){
  62.      godini+=k;
  63.      return *this;
  64.     }
  65.      Covek operator +=(const Covek c1){
  66.      godini+=c1.godini;
  67.      visina+=c1.visina;
  68.      return *this;
  69.     }
  70.  
  71.     Covek operator +(Covek &c1){
  72.     Covek nov(c1.ime,c1.godini+godini,visina);
  73.     return nov;
  74.  
  75.     }
  76.  
  77.     bool operator ==(float f){
  78.     if(visina==f){
  79.         return true;
  80.     }else{
  81.     return false;
  82.     }
  83.     }
  84.  
  85.     char operator [](int index){
  86.         if(index<20 && index>-1)
  87.     return ime[index];
  88.     }
  89.  
  90.  
  91. };
  92. class Grad{
  93. private:
  94.     int br_ziteli;
  95.     Covek *lugje;
  96. public:
  97.     Grad(){
  98.     br_ziteli=0;
  99.     lugje=new Covek[0];
  100.     }
  101.  
  102.     Grad operator +=( const Covek &c1){
  103.       Covek *tmp=new Covek[br_ziteli];
  104.       for(int i=0;i<br_ziteli;i++){
  105.         tmp[i]=lugje[i];
  106.       }
  107.       delete [] lugje;
  108.       lugje=new Covek[br_ziteli+1];
  109.        for(int i=0;i<br_ziteli;i++){
  110.        lugje[i]=tmp[i];
  111.       }
  112.       lugje[br_ziteli]=c1;
  113.       br_ziteli++;
  114.       delete [] tmp;
  115.       return *this;
  116.     }
  117.      Covek operator [](int i){
  118.          if(i<=br_ziteli && i>-1){
  119.             return lugje[i];
  120.          }else{
  121.          cout<<"Nevaliden indeks";
  122.  
  123.          }
  124.  
  125.     }
  126.  
  127.  
  128. };
  129.  
  130. int main()
  131. {
  132.  
  133.     return 0;
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement