Osztály örökséget c

Öröklési elkerüli a szükségtelen párhuzamos kód írásakor osztályok. Hagyja az adatbázisban, vagy az egyetemi és tárolnia kell információt a diákok és a tanárok. Valamennyi adatot egy osztályba nem működik, mert szükségünk van az adatok tárolására, mely nem alkalmazható tanárjelöltek, és fordítva.

Létrehozása alap osztály

Ahhoz, hogy megoldja ezt a problémát, hozzon létre egy alap osztályt ember. amely leírja az emberi modell. Ez tárolja a vezetéknév, keresztnév és családnév.

Készítsen human.h file:

Öröklési a bázis osztály

Most hozzunk létre egy új osztályt a diák. melyik lesz az utódja az emberi osztályban. Helyezzük hallgato.h fájlt.

get_average_score függvény átlaga az összes tanuló értékelését. Minden nyilvános tulajdonságokat és az emberi osztály módszerek is elérhető lesz a diák osztályban.

Base osztály konstruktor

Inicializálni a kivitelező a szülő osztály (esetünkben - a megőrzése a név, vezetéknév és apai a pupilla), használja a következő parancsot:

A kivitelező átadjuk az emberi személy nevének kezdőbetűi, amely tárolja a példány. Az osztály a hallgatók. fel kell tennünk a több és egy listát a diák értékeléseket. Ezért a kivitelező veszi a diákok minden alap osztály konstruktorargumentum és további érvek kiterjesztésének alkalmassága:

Listája hallgatói értékelések tárolja a vektor.

Hozzon létre egy objektum osztály tanulói

Mi végre a felhasználói felület dolgozni a diák osztályban.

Ebben a példában írtunk egy programot, amely létrehoz egy objektum osztály tanulói. tartása az ő nevét, vezetéknevét, apja neve, és egy lista becsléseket.

Miután az inicializálás a tárgy, az idő megjelenítésére a teljes nevét, a hallgató segítségével get_full_name funkciót. Ezt a funkciót örökölt az alap osztály ember.

A program ezután vychisliyaet átlagos diák pontszám és megjeleníti a képernyőn. Ez foglalkozik get_average_score funkciót. írtuk a tanuló osztályban.

Van végre néhány funkció intézményünk adatbázis (persze túlzok, ha működik, komoly kijelentéseket a valódi adatbázis :)

Létrehozása származtatott osztályban tanító

Létre kell hoznunk egy másik osztály, ahol az adatok tárolására a tanárok. Adjunk neki nevet - tanár. Mint tudja, nem fogjuk leírni az összes módszer ebben az osztályban a semmiből, hanem egyszerűen öröklik azt a humán osztályban. Ezután nem kell végrehajtani egy tároló vezetéknév, keresztnév és családnév a tanár. Ez már az emberi alap osztály.

Készítsen teacher.h file:

Az osztályfőnök van egy új funkció - az óraszám a képzés, az oktató kiosztott időegység (kifejezés). A többi funkciót örökölt az alap osztály humán. Ha írtunk a semmiből, ugyanazt a kódot történt volna sokszor többet, és a támogató bonyolult lenne jelentősen.

Hozzon létre egy objektum osztály tanár

Változás a fájl tartalmát main.cpp. hogy teszteljék a tanár.

Ha a program telepítés nélkül került sor hiba, a program a munka, az eredmény a következő lesz:

Ugyanígy lehet létrehozni egy osztályt, amely tartalmazni fogja az adatszolgáltatást a személyzet vagy a vezetőségre. Öröklés akkor alkalmazzák, amikor az egyes objektumok csoportja közös paramétereket, de minden egyes ilyen csoportok kell tárolni több egyéni adatokat.

Továbbá, mi is létrehozhatunk egy osztály, akkor leírja a tanuló levelező tagozaton. Ez azt örökölte volna a hallgatói osztályban. hogy bármilyen további információt.

Az emberi osztály, akkor adjunk hozzá még több funkcióval, amely leírja a rendelkezésre álló adatok bármely személy. Például az útlevél száma, születési idő, lakóhely és a lakóhely.

Ez a megközelítés lehetővé teszi, hogy több alkalommal, hogy csökkentse párhuzamos kódot valós projektekben, és könyörögni neki támogatást.

Mikor kell használni a kivitelező

Ha az osztály van egy csomó ingatlan - ők nem feltétlenül beállítva a kivitelező. Ahhoz, hogy menteni a kiválasztott osztály tulajdonságainak beállítása funkció. Például, hogy mentse az útlevél száma, akkor létrehozhat egy nyilvános eljárás set_passport_number (std :: húr szám). ami elviszi az értéke a tulajdonságok, és mentse el egy objektumot egy változtatható ezt.