Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka.

Podobné prezentace


Prezentace na téma: "Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka."— Transkript prezentace:

1 Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka

2 Co je dědičnost ► jedna ze základních vlastností OOP ► původní bázové třídy – společný základ pro nové odvozené třídy ► jednoduchá / vícenásobná

3 Syntaxe dědičnosti class zakl // bázová třída { int i; public: void nastav_i(int n) {i=n;} int vezmi_i() {return i;} }; class odvozena: public zakl// odvozená třída { int j; // přidána další proměnná public: void nastav_j(int n){j=n;} // přidána další funkce int nasobeni (){return j*vezmi_i();} //přidáno násobení i*j };

4 Přístupy v dědičnosti

5 Dědění metod ► Konstruktory a destruktory se nedědí, ale při tvorbě odvozené třídy jsou zděděné datové složky inicializovány konstruktorem základní třídy ► virtuální metody k přetěžování

6 Virtuální metody ► Slouží jako předpisy pro metody v odvozených třídách ► jsou uvozeny klíčovým slovem virtual a v základní třídě nemají definici, pouze deklaraci

7 Virtuální metody struct bod_1 {double x,y;}; class kres_obj // bázová třída { protected: bod_1 ref_bod; virtual int kresli(); // bude se měnit v odvozených třídách }; class obdelnik: public kres_obj // odvozená třída { protected: bod_1 rohy[4]; virtual int kresli(); // bude se měnit }; class kruznice: public kres_obj // odvozená třída { protected: bod_1 stred; float r; virtual int kresli(); // bude se měnit (nakreslí kružnici) };

8 Dědičnost ve Windows

9 Zadání cvičení ► Napište třídu Vozidlo, která bude obsahovat datové složky Spotřeba, Počet_kol, a metody pro nastavení/čtení těchto proměnných, dále konstruktor, který vypíše „Tvořím vozidlo.“ ► Napište odvozenou třídu Nákladní_vozidlo, která zdědí vše z třídy Vozidlo a dále bude obsahovat datové složky Nosnost, počet náprav, … bude obsahovat konstruktor, který vypíše „Tvořím nákladní vozidlo.“ ► Napište odvozenou třídu Osobní_vozidlo, která zdědí vše z třídy Vozidlo a dále bude obsahovat datové složky klimatizace, rádio, … Bude obsahovat konstruktor, který vypíše „Tvořím osobní vozidlo.“ ► V hlavním programu vytvořte pole instancí osobních a nákladních vozidel a pomocí metod nastavte jednotlivé datové položky ► program umístěte do samostatného hlavičkového souboru, nakreslete vývojový diagram ► ► použití nového „cout <<“ místo „printf()“ ► použití new a delete ► bodování: funkce (1 bod), rychlost (1 bod), stabilita a délka prog. (1 bod), implementace v hl. souboru (1 bod)


Stáhnout ppt "Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka."

Podobné prezentace


Reklamy Google