Advertisement
Magentax

Pasare POO

Jan 22nd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.55 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Pasare
  5. {
  6.     string Nume;
  7.     int NrAripi;
  8. public:
  9.     void SetNrAripi(int n);
  10.     void SetNume(string m);
  11.     int GetAripi();
  12.     string GetNume();
  13.     Pasare(string a, int b);
  14.     ~Pasare();
  15. };
  16. void Pasare::SetNrAripi(int n)
  17. {
  18.     NrAripi=n;
  19. }
  20. void Pasare::SetNume(string m)
  21. {
  22.     Nume=m;
  23. }
  24. int Pasare::GetAripi()
  25. {
  26.     return NrAripi;
  27. }
  28. string Pasare::GetNume()
  29. {
  30.     return Nume;
  31. }
  32. Pasare::Pasare(string a, int b)
  33. {
  34.     Nume=a;
  35.     NrAripi=b;
  36.     cout<<"\nAm trecut prin constructorul cu 2 parametrii din clasa de baza";
  37. }
  38. Pasare::~Pasare()
  39. {
  40.     cout<<"\nAm trecut prin destructor clasa de baza";
  41. }
  42.  
  43. class Vrabie: private Pasare
  44. {
  45.     int NrPicioare;
  46. public:
  47.     void SetNumeAripiPicioare(string a, int b, int c)
  48.     {   SetNume(a);
  49.         SetNrAripi(b);
  50.         NrPicioare=c;
  51.     }
  52.     void GetNumeAripiPicioare()
  53.     {
  54.         cout<<"\nNumele vrabiei este:"<<GetNume();
  55.         cout<<"\nNumarul de aripi din vrabie este:"<<GetAripi();
  56.         cout<<"\nNumarul de picioare este:"<<NrPicioare;
  57.     }
  58.     Vrabie(string a, int b,int c):Pasare(a,b)
  59.     {
  60.         NrPicioare=c;
  61.     cout<<"\nAm trecut prin constructor vrabie";
  62.     }
  63.     ~Vrabie()
  64.     {
  65.         cout<<"\nAm trecut prin destructor vrabie";
  66.     }
  67. };
  68. class Ciocanitoare: public Pasare
  69. {
  70.     string Culoare;
  71. public:
  72.     Ciocanitoare(string a,int b, string f):Pasare(a,b)
  73.     {
  74.         //SetNume(a);
  75.        // SetNrAripi(b);
  76.         Culoare=f;
  77.         cout<<"\nAm trecut prin constructorul din Ciocanitoare";
  78.     }
  79.     ~Ciocanitoare()
  80.     {
  81.         cout<<"\nAm trecut prin destructorul din Ciocanitoare";
  82.     }
  83.     string GetCuloare()
  84.     {
  85.         return Culoare;
  86.     }
  87. };
  88. class CiocanitoareDeSTEJAR: virtual public Ciocanitoare
  89. {
  90.     int LungimeCoada;
  91. public:
  92.     CiocanitoareDeSTEJAR(string a, int b, string c, int d):Ciocanitoare(a,b,c)
  93.     {
  94.         LungimeCoada=d;
  95.         cout<<"\nAm trecut prin constructorul din CiocanitoareDeStejar";
  96.     }
  97.     ~CiocanitoareDeSTEJAR()
  98.     {
  99.         cout<<"\nAm trecut prin destructorul din CiocanitoareDeStejar";
  100.     }
  101.     int GetCoada()
  102.     {
  103.         return LungimeCoada;
  104.     }
  105. };
  106.  
  107. int main()
  108.  
  109. {   Vrabie VB1("nana",1,2);
  110.     VB1.SetNumeAripiPicioare("Nume",2,4);
  111.     VB1.GetNumeAripiPicioare();
  112.  
  113.  
  114.     CiocanitoareDeSTEJAR CS1("Nume",2,"Albastra",20);
  115.     cout<<"\n\nNumele este:"<<CS1.GetNume()<<" \nNumarul de aripi este:"<<CS1.GetAripi()<<" \nCuloarea este:"<<CS1.GetCuloare()<<" \nIar lungimea cozii este:"<<CS1.GetCoada();
  116.  
  117.     return 0;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement