Ako emulovať super kľúčové slovo v C++

Ako Emulovat Super Klucove Slovo V C



Niektoré objektovo orientované programovacie jazyky majú kľúčové slovo „super“, ktoré umožňuje podtriede vyvolať funkcie a členov základnej alebo rodičovskej triedy. Niektoré programovacie jazyky určujú, ako by sa malo konkrétne použiť kľúčové slovo „super“. Ale v prípade C++ sa kľúčové slovo super nepoužíva rovnakým spôsobom ako v Jave a Pythone. V tomto návode budeme študovať a demonštrovať emuláciu super kľúčových slov v C++.

Ako emulovať super kľúčové slovo v C++

Kľúčové slovo známe ako „super“ nie je preddefinované v kompilátore C++. Dedičnosť a prepísanie funkcie sa používajú na vývoj podtriedy, ktorá preberá členov a metódy svojej nadtriedy. Stačí zadať identifikátor „supertriedy“ a člena alebo metódu, ku ktorej chcete pristupovať, operátorovi (::).







Syntax

Môžete pristupovať k metóde v nadtriede s názvom „parent_class“, ktorá má názov ako „parent_function()“ v podtriede pomocou syntaxe uvedenej nižšie:



parent_class::parent_function ( ) ;



Príklad

Pomocou C++ na emuláciu funkcie super kľúčového slova na prístup k vlastnostiam nadradenej triedy použite operátor rozlíšenia rozsahu(::).





Operátor rozlíšenia rozsahu (::) sa môže použiť na získanie členov nadradenej triedy vždy, keď trieda z nej zdedí. Zvážte nasledujúci kód ako príklad:

#include
pomocou menného priestoru std;

trieda základná_trieda {
verejné:
void baseFunction ( ) {
cout << 'Toto je out of baseFunction zo základnej triedy' << endl;
}
} ;
class odvodená_trieda: verejná základná_trieda {
verejné:
void dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Toto je odvodená trieda, ktorá pristupuje k baseFunction zo základnej triedy' << endl;
}
} ;
int main ( ) {
odvodená_trieda d;
d.dFunkcia ( ) ;
vrátiť 0 ;
}


Vyššie uvedený program má funkciu zo základnej alebo nadradenej triedy baseFunction(). Je definovaná ďalšia odvodená trieda, ktorá pristupuje k baseFunction() v dFunction(). Hlavnou metódou je najprv vytvorenie inštancie odvodenej_triedy a zavolanie funkcie dFunction(), ktorá vytlačí výstup oboch funkcií baseFunction() a dFunction().



Záver

Hoci kľúčové slovo „super“ v C++ priamo neexistuje, jeho správanie sa dá napodobniť kombináciou dedičnosti a prepisov funkcií. Môžeme úspešne volať a používať metódy alebo členov nadtriedy tak, že najskôr zavoláme funkcie nadtriedy a potom prejdeme k implementácii podtriedy. Tento príspevok tiež poskytol inštanciu kódu C++ pre lepšie pochopenie.