Motivační příklady pro polymorfismus

Ve všech jednotkách jsou definovány tři třídy: Jednotlivé jednotky se liší tím, které metody jednotlivé podtřídy předefinovají.

Všechny programy jsou stejné a liší se jen tím, kterou jednotku používají.

  1. Jednotka ZV5 a program PR5

  2. Metoda jakdelam je v třídě zvíře virtuální. Obě podtřídy předefinovávají konstruktor a obě metody kdojsem a jakdelam.
  3. Jednotka ZV6 a program PR6

  4. Obě podtřídy předefinovájí jen konstruktor a virtální metodu jakdelam.
  5. Jednotka ZV7 a program PR7

  6. Metoda jakdelam neni ve třídě zvire virtuální, obě podtřídy ji předefinovávají, v podtřídě pes je prohlášena za virtuální.
  7. Jednotka ZV8 a program PR8

  8. V žádné třídě není žádná metoda prohlášena za virtuální. Kočka předefinovává obě metody, pes jen metodu jakdelam.
  9. Jednotka ZV9 a program PR9

  10. Metoda jakdelam je ve třídě zvire virtuální, obě podtřídy předefinovávají obě metody. Třída kočka má jen zděděný konstruktor, přesto mechanizmus vrtuálních metod funguje správně i pro exempláře třídy kočka.