Advertisement
LDG2875

help

Mar 24th, 2022
1,098
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. #define E 20
  4. #define E_IMB 4
  5. #define V_MAX 80
  6. using namespace std;
  7.  
  8. class Test
  9. {
  10.     int i; // pozitia (un intreg de la 0 la 29, dar la output se va afisa cu 1 mai mult)
  11.     char tip; // numele speciei: '+' sau '0'
  12.     int varsta; // de la 0 la VARSTA_MAX
  13.     double energie; // energia
  14.     bool viu;
  15.  
  16. public:
  17.     Test();
  18.     Test(int, char, int, double, bool);
  19.     Test(const Test&);
  20.     Test& operator=(const Test&);
  21.     friend ostream& operator << (ostream& out, const Test& ob)
  22.     {
  23.         out << ob.i << " " << ob.tip << " " << ob.varsta << " " << ob.energie << " " << ob.viu << '\n';
  24.         return out;
  25.     }
  26.     friend istream& operator >> (istream& in, Test& ob)
  27.     {
  28.         in >> ob.i >> ob.tip >> ob.varsta >> ob.energie >> ob.viu;
  29.         return in;
  30.     }
  31. };
  32.  
  33. Test::Test()
  34. {
  35.     i = rand() % 30;
  36.     tip = (rand() % 2 ? '+' : '0');
  37.     varsta = rand() % 80;
  38.     energie = E;
  39.     viu = 1;
  40. }
  41.  
  42. Test::Test(int i = 0, char tip = '+', int varsta = 0, double energie = 4, bool viu = 1)
  43. {
  44.     this -> i = i;
  45.     this -> tip = tip;
  46.     this -> varsta = varsta;
  47.     this -> energie = energie;
  48.     this -> viu = viu;
  49. }
  50.  
  51. Test::Test(const Test& ob)
  52. {
  53.     i = ob.i;
  54.     tip = ob.tip;
  55.     varsta = ob.varsta;
  56.     energie = ob.energie;
  57.     viu = ob.viu;
  58. }
  59.  
  60. Test& Test::operator=(const Test& ob)
  61. {
  62.     if(this != &ob)
  63.     {
  64.         i = ob.i;
  65.         tip = ob.tip;
  66.         varsta = ob.varsta;
  67.         energie = ob.energie;
  68.         viu = ob.viu;
  69.     }
  70.     return *this;
  71. }
  72.  
  73. int main()
  74. {
  75.     Test ob1;
  76.     cout << ob1;
  77.  
  78.     Test ob2(ob1);
  79.     cout << ob2;
  80.  
  81.     Test ob3 = ob2;
  82.     cout << ob3;
  83.  
  84.     Test ob4;
  85.     cin >> ob4;
  86.     cout << ob4;
  87.  
  88.     return 0;
  89. }
  90.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement