Jak emulovat super klíčové slovo v C++

Jak Emulovat Super Klicove Slovo V C



Některé objektově založené programovací jazyky mají klíčové slovo „super“, které umožňuje podtřídě vyvolávat funkce a členy základní nebo nadřazené třídy. Některé programovací jazyky určují, jak by se mělo konkrétně používat klíčové slovo „super“. Ale v případě C++ se klíčové slovo super nepoužívá stejným způsobem jako v Javě a Pythonu. V tomto tutoriálu budeme studovat a demonstrovat emulaci super klíčových slov v C++.

Jak emulovat super klíčové slovo v C++

Klíčové slovo známé jako „super“ není v kompilátoru C++ předdefinováno. Přepsání dědičnosti a funkce se používá k vývoji podtřídy, která přebírá členy a metody své nadtřídy. Stačí zadat identifikátor „supertřídy“ a člen nebo metodu, ke které chcete získat přístup, operátorovi (::).







Syntax

K metodě v nadtřídě s názvem „parent_class“, která má název jako „parent_function()“ v podtřídě, můžete přistupovat pomocí syntaxe uvedené níže:



parent_class::parent_function ( ) ;



Příklad

Pomocí C++ k emulaci funkce super klíčového slova pro přístup k vlastnostem nadřazené třídy použijte operátor rozlišení rozsahu(::).





Operátor rozlišení rozsahu (::) lze použít k získání členů nadřazené třídy, kdykoli z ní třída zdědí. Zvažte následující kód jako příklad:

#include
pomocí jmenného prostoru std;

třída základní_třída {
veřejnost:
void baseFunction ( ) {
cout << 'Toto je out of baseFunction ze základní třídy' << endl;
}
} ;
class odvozená_třída: veřejná základní_třída {
veřejnost:
void dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Toto je odvozená třída, která přistupuje k baseFunction ze základní třídy' << endl;
}
} ;
int main ( ) {
odvozená_třída d;
d.dFunkce ( ) ;
vrátit se 0 ;
}


Výše uvedený program má funkci ze základní nebo nadřazené třídy baseFunction(). Je definována další odvozená třída, která přistupuje k baseFunction() v dFunction(). Hlavní metodou je nejprve vytvoření instance odvozené_třídy a volání funkce dFunction(), která vytiskne výstup obou funkcí baseFunction() a dFunction().



Závěr

Přestože klíčové slovo „super“ v C++ přímo neexistuje, jeho chování lze napodobit kombinací dědičnosti a přepsání funkcí. Můžeme úspěšně volat a používat metody nebo členy nadtřídy tak, že nejprve zavoláme funkce nadtřídy, než přejdeme k implementaci podtřídy. Tento příspěvek také poskytl instanci kódu C++ pro lepší pochopení.