Carnby1021

poprawa o fedorowa

Dec 1st, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3. /*
  4. istnieje typ stado ktory inkapsuluje owieczki (wiele) nastepnie jest classa jescze jedna o nazwie zabujca jest ona abstrakcyjna
  5.  
  6. klasa zabujca wie o klasie stado (obieekcie stado) czym jest stado zabujcy moga byc inni moze yc czlowiek ,wilk, wilkolak
  7. razem wziete tworza na faceebooku spolecznosc zabujcow kazdy z nich wie o stadzie zamieszkania opracowac funkcjonalnosc
  8. na spolecznosci zabujcow wywolac funkcje zjedz i kazdy z nich z tej spolecznosci musi zjesc przynajmniej jedna owieczke po wykonaniu
  9. stado powinno zawierac powyzej 3 owieczki zademonstrowac ze w stadzie nie ma rzadnej owieczki . wskaznik na stado ma byc wskaznikiem statycznym
  10.  
  11. */
  12.  
  13.  
  14. using namespace std;
  15.  
  16.  
  17. class Owieczka{
  18. public:
  19. Owieczka(){};
  20.  
  21. };
  22.  
  23. class Stado{
  24. Owieczka *tablica;
  25. int ilosc;
  26. public:
  27. static Stado *wsk_statyczny;
  28. static int liczba_owiec;
  29. Stado(int _liczba){
  30. this->ilosc=_liczba;
  31. liczba_owiec=_liczba;
  32. tablica= new Owieczka[ilosc];
  33. }
  34. static void metoda_statyczna(){
  35. cout<<"Aktualnie jest owieczek: "<<liczba_owiec<<endl;
  36. }
  37.  
  38. ~Stado(){
  39. delete [] tablica;
  40. }
  41. };
  42.  
  43. int Stado::liczba_owiec=0;
  44. Stado *Stado::wsk_statyczny;
  45.  
  46. class Zabujca{
  47. public:
  48. virtual void zjedz()=0;
  49. virtual void Jestem()=0;
  50.  
  51. };
  52.  
  53.  
  54. class Czlowiek:public Zabujca{
  55. public:
  56. Czlowiek(){}
  57. void zjedz(){
  58. cout<<"Zjadam czlowiek"<<endl;
  59. Stado::liczba_owiec-=1;
  60. }
  61. void Jestem(){
  62. cout<<"Czlowiek";
  63. }
  64.  
  65. };
  66.  
  67. class Wilkolak:public Zabujca{
  68. public:
  69. Wilkolak(){}
  70. void zjedz(){
  71. cout<<"Zjadam Wilkolak"<<endl;
  72. Stado::liczba_owiec-=1;
  73. }
  74. void Jestem(){
  75. cout<<"Wilkolak";
  76. }
  77. };
  78.  
  79. class Wilk:public Zabujca{
  80. public:
  81. Wilk(){}
  82. void zjedz(){
  83. cout<<"Zjadam Wilk"<<endl;
  84. Stado::liczba_owiec-=1;
  85. }
  86. void Jestem(){
  87. cout<<"Wilk";
  88. }
  89.  
  90. };
  91.  
  92. class Faceebook:public Czlowiek,public Wilk, public Wilkolak{
  93. public:
  94. void Spolecznosc(){
  95. cout<<"Do spolecznoscie Zabujcow nalezy:\n";
  96. Czlowiek::Jestem();
  97. cout<<endl;
  98. Wilk::Jestem();
  99. cout<<endl;
  100. Wilkolak::Jestem();
  101. cout<<endl;
  102.  
  103. }
  104.  
  105.  
  106.  
  107. };
  108.  
  109. int main(){
  110.  
  111. Stado::metoda_statyczna();
  112. Stado::wsk_statyczny = new Stado(5);
  113. Stado::metoda_statyczna();
  114.  
  115. Zabujca **kto = new Zabujca*[3];
  116.  
  117. kto[0]=new Czlowiek;
  118. kto[1]=new Wilk;
  119. kto[2]=new Wilkolak;
  120.  
  121. for(int i=0;i<3;i++){
  122. kto[i]->zjedz();
  123. }
  124.  
  125. /*
  126. Czlowiek obiekt1;
  127. Wilk obiekt2;
  128. Wilkolak obiekt3;
  129.  
  130. kto = &obiekt1;
  131.  
  132. kto->zjedz();
  133.  
  134. kto = &obiekt2;
  135.  
  136. kto->zjedz();
  137.  
  138. kto = &obiekt3;
  139.  
  140. kto->zjedz();
  141.  
  142. */
  143. Stado::metoda_statyczna();
  144.  
  145. Faceebook portal;
  146. portal.Spolecznosc();
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154. return 0;
  155. }
Add Comment
Please, Sign In to add comment