Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- /*
- istnieje typ stado ktory inkapsuluje owieczki (wiele) nastepnie jest classa jescze jedna o nazwie zabujca jest ona abstrakcyjna
- klasa zabujca wie o klasie stado (obieekcie stado) czym jest stado zabujcy moga byc inni moze yc czlowiek ,wilk, wilkolak
- razem wziete tworza na faceebooku spolecznosc zabujcow kazdy z nich wie o stadzie zamieszkania opracowac funkcjonalnosc
- na spolecznosci zabujcow wywolac funkcje zjedz i kazdy z nich z tej spolecznosci musi zjesc przynajmniej jedna owieczke po wykonaniu
- stado powinno zawierac powyzej 3 owieczki zademonstrowac ze w stadzie nie ma rzadnej owieczki . wskaznik na stado ma byc wskaznikiem statycznym
- */
- using namespace std;
- class Owieczka{
- public:
- Owieczka(){};
- };
- class Stado{
- Owieczka *tablica;
- int ilosc;
- public:
- static Stado *wsk_statyczny;
- static int liczba_owiec;
- Stado(int _liczba){
- this->ilosc=_liczba;
- liczba_owiec=_liczba;
- tablica= new Owieczka[ilosc];
- }
- static void metoda_statyczna(){
- cout<<"Aktualnie jest owieczek: "<<liczba_owiec<<endl;
- }
- ~Stado(){
- delete [] tablica;
- }
- };
- int Stado::liczba_owiec=0;
- Stado *Stado::wsk_statyczny;
- class Zabujca{
- public:
- virtual void zjedz()=0;
- virtual void Jestem()=0;
- };
- class Czlowiek:public Zabujca{
- public:
- Czlowiek(){}
- void zjedz(){
- cout<<"Zjadam czlowiek"<<endl;
- Stado::liczba_owiec-=1;
- }
- void Jestem(){
- cout<<"Czlowiek";
- }
- };
- class Wilkolak:public Zabujca{
- public:
- Wilkolak(){}
- void zjedz(){
- cout<<"Zjadam Wilkolak"<<endl;
- Stado::liczba_owiec-=1;
- }
- void Jestem(){
- cout<<"Wilkolak";
- }
- };
- class Wilk:public Zabujca{
- public:
- Wilk(){}
- void zjedz(){
- cout<<"Zjadam Wilk"<<endl;
- Stado::liczba_owiec-=1;
- }
- void Jestem(){
- cout<<"Wilk";
- }
- };
- class Faceebook:public Czlowiek,public Wilk, public Wilkolak{
- public:
- void Spolecznosc(){
- cout<<"Do spolecznoscie Zabujcow nalezy:\n";
- Czlowiek::Jestem();
- cout<<endl;
- Wilk::Jestem();
- cout<<endl;
- Wilkolak::Jestem();
- cout<<endl;
- }
- };
- int main(){
- Stado::metoda_statyczna();
- Stado::wsk_statyczny = new Stado(5);
- Stado::metoda_statyczna();
- Zabujca **kto = new Zabujca*[3];
- kto[0]=new Czlowiek;
- kto[1]=new Wilk;
- kto[2]=new Wilkolak;
- for(int i=0;i<3;i++){
- kto[i]->zjedz();
- }
- /*
- Czlowiek obiekt1;
- Wilk obiekt2;
- Wilkolak obiekt3;
- kto = &obiekt1;
- kto->zjedz();
- kto = &obiekt2;
- kto->zjedz();
- kto = &obiekt3;
- kto->zjedz();
- */
- Stado::metoda_statyczna();
- Faceebook portal;
- portal.Spolecznosc();
- return 0;
- }
Add Comment
Please, Sign In to add comment