Čo je konštruktor dedičnosti v C++

Co Je Konstruktor Dedicnosti V C



V C++, dedičstvo je kľúčový pojem v objektovo orientovanom programovaní. Odvodená trieda môže zdediť vlastnosti a správanie základnej triedy vďaka mocným dedičstvo schopnosť v C++. Odvodená trieda pri svojom vytvorení okamžite zdedí všetkých členov základnej triedy. Je potrebné, aby konštruktor odvodenej triedy inicializoval aj členov základnej triedy. V C++, dedičstvo je výkonná funkcia, ktorá umožňuje vývojárom opätovne použiť kód, zlepšiť efektivitu a organizovať kód do logických hierarchií.

Spolu s dedičnosťou sú v C++ nevyhnutné aj konštruktory. A konštruktér je jedinečná členská funkcia, ktorá vám umožňuje inicializovať vlastnosti objektu. An Konštruktor dedičstva je konštruktor používaný na inicializáciu objektov základnej triedy aj odvodených tried, ktoré odvodená trieda zdedila. The konštruktor dedičstva je zodpovedný za inicializáciu zdedených členov základnej triedy a odvodených členov triedy. Aby sa to dosiahlo, konštruktor zavolá konštruktor základnej triedy a zabezpečí, že všetky členy odvodenej triedy sú správne inicializované, vrátane tých, ktoré sú zdedené zo základnej triedy.

Vyvolaním konštruktora základnej triedy a odovzdaním potrebných parametrov, konštruktor dedičstva inicializuje členov základnej triedy. To sa dosiahne pomocou „základná trieda (argumenty)“ inicializačný zoznam v konštruktore. Ďalšie inštrukcie špecifické pre odvodenú triedu sú poskytnuté v tele konštruktora.







Syntax pre dedenia trieda v C++ je:



trieda Odvodená trieda : accessSpecifier BaseClass {
// členovia triedy
} ;

V tomto prípade sa vytvára nová trieda, 'Odvodená trieda', bude dediť od „Základná trieda“. Úroveň prístupu k zdedeným členom je určená „ accessSpecifier“. C++ využíva tri typy špecifikátorov prístupu, a to „verejné“, „súkromné“, a 'chránené' . Slovo 'verejné' označuje, že odvodená trieda má prístup k verejným členom základnej triedy. Odvodená trieda nemá prístup k členom základnej triedy 'súkromné' špecifikátor. Odvodená trieda má prístup k chráneným členom základnej triedy, ktoré môžu zdediť ich podradené triedy, podľa 'chránený' špecifikátor.



Príklad dedičnosti v C++

Nasledujúci príklad ukazuje implementáciu Dedičnosť v C++:





#include
použitím menný priestor std ;

trieda Zviera {
verejnosti :
neplatné jesť ( ) {
cout << 'Môžem jesť!' << endl ;
}
neplatné spať ( ) {
cout << 'Môžem spať!' << endl ;
}
} ;
trieda Cat : verejnosti Zviera {
verejnosti :
neplatné mňau ( ) {
cout << 'Môžem mňaukať!' << endl ;
}
} ;
int Hlavná ( ) {
Mačka mačka 1 ;
kat1. jesť ( ) ;
kat1. spať ( ) ;
kat1. mňau ( ) ;

vrátiť 0 ;
}

Daný kód definuje dve triedy, 'zviera' a 'mačka' , kde 'mačka' je odvodený od 'zviera' . Obe triedy majú niektoré členské funkcie, ako napr 'jesť spať' , a 'mňau' . Hlavná funkcia vytvára objekt triedy 'mačka' a volá zdedené funkcie z triedy 'zviera' ako aj špecifická funkcia triedy 'mačka' , ktorý je 'mňau' . Program odošle text do konzoly, čo naznačuje, že mačka môže jesť, spať a mňaukať.

Výkon



Keď je trieda odvodená, všetky členské premenné a členské funkcie základnej triedy sa prenesú do odvodenej triedy. The zdedené prístupnosť členov v odvodenej triede je určená špecifikátorom prístupu. Odvodená trieda môže tiež nahradiť nové funkcie za tie, ktoré už existujú. Môže pridávať nové implementácie pre metódy základnej triedy a pridávať nové členské funkcie a premenné.

Je dôležité mať na pamäti, že konštruktor dedičstva sa musí použiť na explicitné volanie konštruktora základnej triedy s potrebnými parametrami, ak má základná trieda predvolený konštruktor alebo ak nie je k dispozícii.

Záver

Silnou črtou dedičstvo v C++ umožňuje triedam opätovne použiť kód dedením charakteristík a akcií od iných. Užitočná funkcia jazyka C++ konštruktor dedičstva umožňuje odvodeným triedam zdediť vlastnosti, metódy a dátové členy základnej triedy. S pridaním inicializačného zoznamu pre konštruktory základnej triedy je definovaný pomocou rovnakej syntaxe ako štandardný konštruktor. Programátori C++ môžu minimalizovať duplikáciu kódu a vylepšiť štruktúru kódu pomocou konštruktor dedičstva . Na vytváranie zložitých hierarchií tried v objektovo orientovanom programovaní je to dôležitý nástroj.