• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PIĘTA Achillesa

Object Storage Arubacloud
0 głosów
296 wizyt
pytanie zadane 27 sierpnia 2015 w C i C++ przez 0xf Dyskutant (8,180 p.)
Witam, skonczylem juz kurs pana Miroslawa ale nie potrafie zastosowac dwoch dzialow /

a) Rekurencja

b) Polimorfizm

Prosilbym o wytlumaczenie mi tych zagadnien i najlepiej o podanie jakies zakodowanego przykladu.

Z gory dzieki

5 odpowiedzi

+1 głos
odpowiedź 27 sierpnia 2015 przez criss Mędrzec (172,590 p.)
edycja 27 sierpnia 2015 przez criss

Rekurencje miałeś pokazaną na przykładzie funkcji liczącej elementy ciągu fibonacciego.

Polimorfizm sam ogarniesz niedługo :P Sam przez 2-3 miesiące nie bardzo wiedziałem jak go wykorzystać, ale jakoś przyszedł moment, że zrozumiałem i od tego czasu korzystam kiedy się da.

No ale ogólnie rzecz biorąc. Jeśli kilka klas dziedziczy z jednej, to na te wszystkie kilka klas może wskazywać wskaźnik typu klasy bazowej. Możesz dzięki temu stworzyć kontener atakujących ciebie zwierzaków różnych klas.

class Zwierze{
    public:
        virtual void attack() = 0;
};

class Wilk :public Zwierze{
  public:
      void attack(){ kod };
};

class Wiewiorka :public Zwierze{
  public:
      void attack(){ kod};
};

Teraz mozesz powrzucac do np vectora wskaznik obiekt Wilka i Wiewiorki:

vector<Zwierze*> enemies;

Zwierze* ptr  = new Wilk;
enemies.push_back(ptr);

ptr = new Wiewiorka;
enemies.push_back(ptr);

I dzięki temu, ze klasa Zwierze ma metode wirtualną attack(), to mozesz metode attack() wywolac w klasach dziedziczacych poprzez wskaznik na klase bazowa:

for(short i =0; i< enemies.size(); i++)
         enemies[i]->attack();

 

0 głosów
odpowiedź 27 sierpnia 2015 przez Dorion300 Szeryf (90,250 p.)
przywrócone 27 sierpnia 2015 przez Dorion300

Rekurencja - wywoływanie funkcji/metody samej siebie.

 

np. w funkcja() jest wywoływana funkcja() ale z innymi parametrami

 

Polimorfizm

http://cpp0x.pl/kursy/Programowanie-obiektowe-C++/Polimorfizm/499

0 głosów
odpowiedź 27 sierpnia 2015 przez katolik6 Dyskutant (8,140 p.)
while(true) { facepalm; }

przeczytałem ,,pętla achillesa''
0 głosów
odpowiedź 27 sierpnia 2015 przez Ehlert Ekspert (212,670 p.)

Kiedyś a pro pos polimorfizmu usłyszałem od nauczyciela fajną analogię...

Z polimorfizmem jest jak z dyrygenturą. Dyrygent jest muzykiem ale "dowodzi" orkiestrą. Wobec tego każda osoba w orkiestrze dziedziczy z klasy dyrygent. Dzięki temu może on krzynąć "grają skrzypce" i nie interesować się tym kto gra na skrzypcach.

Co do rekurencji... Kartka, ołówek i przeanalizuj kod silnii. Flagowy przykład rekurencji w programowaniu. 
 

long long silnia(int n)
{
 if(n<2)
        return 1; //silnia z 0 i 1 wynosi 1
 
return n*silnia(n-1); //wywołanie funkcji przez samą siebie ze zmniejszonym argumentem
}//http://www.algorytm.edu.pl/

 

Podobne pytania

–1 głos
2 odpowiedzi 348 wizyt
pytanie zadane 19 stycznia 2016 w PHP przez Pietrak Pasjonat (18,850 p.)
+1 głos
1 odpowiedź 275 wizyt
pytanie zadane 5 lipca 2015 w C i C++ przez k222 Nałogowiec (30,150 p.)
0 głosów
4 odpowiedzi 409 wizyt

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...