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.