Kako emulirati super ključno besedo v C++

Kako Emulirati Super Kljucno Besedo V C



Nekateri objektno temelječi programski jeziki imajo ključno besedo »super«, ki podrazredu omogoča priklic funkcij in članov osnovnega ali nadrejenega razreda. Nekateri programski jeziki določajo, kako naj se uporablja ključna beseda »super«. Toda v primeru C++ se ključna beseda super ne uporablja na enak način kot v Javi in ​​Pythonu. V tej vadnici bomo preučili in prikazali emulacijo super ključnih besed v C++.

Kako emulirati ključno besedo super v C++

Ključna beseda, znana kot »super«, ni vnaprej določena v prevajalniku C++. Dedovanje in preglasitev funkcije se uporabljata za razvoj podrazreda, ki prevzame člane in metode svojega nadrazreda. Preprosto vnesite identifikator »nadrazreda« in člana ali metodo, do katere želite dostopati z operatorjem (::).







Sintaksa

Do metode v nadrazredu z imenom »parent_class«, ki ima v podrazredu ime, kot je »parent_function()«, lahko dostopate z uporabo spodaj prikazane sintakse:



nadrejeni_razred::nadrejena_funkcija ( ) ;



Primer

Z uporabo C++ za posnemanje funkcionalnosti ključne besede super za dostop do lastnosti nadrejenega razreda uporabite operator ločljivosti obsega (::).





Operator razrešitve obsega (::) je mogoče uporabiti za pridobitev članov nadrejenega razreda, kadar koli razred podeduje od njega. Kot primer upoštevajte naslednjo kodo:

#include
uporaba imenskega prostora std;

razred osnovni_razred {
javnost:
void baseFunction ( ) {
cout << 'To je izhod baseFunction iz osnovnega razreda' << endl;
}
} ;
razred izpeljani_razred: javni osnovni_razred {
javnost:
void dFunction ( ) {
osnovni_razred::osnovnafunkcija ( ) ;
cout << 'To je izpeljan razred, ki dostopa do baseFunction iz osnovnega razreda' << endl;
}
} ;
int main ( ) {
izpeljani_razred d;
d.dFunkcija ( ) ;
vrnitev 0 ;
}


Zgornji program ima funkcijo iz osnovnega ali nadrejenega razreda baseFunction(). Definiran je še en izpeljani razred, ki dostopa do baseFunction() v dFunction(). Glavna metoda je najprej ustvariti primerek derived_class in poklicati dFunction(), ki natisne izhod obeh baseFunction() in dFunction().



Zaključek

Čeprav ključna beseda »super« neposredno ne obstaja v C++, je njeno vedenje mogoče posnemati s kombiniranjem dedovanja in preglasitev funkcij. Metode ali člane nadrazreda lahko uspešno pokličemo in uporabimo tako, da najprej pokličemo funkcije nadrazreda, preden nadaljujemo z implementacijo podrazreda. Ta objava je zagotovila tudi primer kode C++ za vaše boljše razumevanje.