Kako emulirati super ključnu riječ u C++

Kako Emulirati Super Kljucnu Rijec U C



Neki programski jezici temeljeni na objektima imaju ključnu riječ 'super', koja omogućuje podklasi pozivanje funkcija i članova osnovne ili nadređene klase. Neki programski jezici određuju kako se ključna riječ 'super' treba posebno koristiti. Ali u slučaju C++, ključna riječ super ne koristi se na isti način kao u Javi i Pythonu. U ovom vodiču proučit ćemo i demonstrirati emulaciju super ključnih riječi u C++.

Kako emulirati super ključnu riječ u C++

Ključna riječ poznata kao 'super' nije unaprijed definirana u C++ prevoditelju. Nasljeđivanje i nadjačavanje funkcija koriste se za razvoj podklase koja preuzima članove i metode svoje nadklase. Samo navedite identifikator 'superklase' i člana ili metode kojoj želite pristupiti s operatorom (::).







Sintaksa

Možete pristupiti metodi u superklasi pod nazivom 'parent_class' koja ima naziv poput 'parent_function()' u podklasi korištenjem sintakse prikazane u nastavku:



roditeljska_klasa::roditeljska_funkcija ( ) ;



Primjer

Koristeći C++ za oponašanje funkcionalnosti ključne riječi super za pristup svojstvima nadređene klase, upotrijebite operator razlučivanja opsega(::).





Operator razlučivanja opsega (::) može se upotrijebiti za dobivanje članova nadređene klase kad god klasa nasljeđuje od nje. Razmotrite sljedeći kod kao primjer:

#include
korištenje imenskog prostora std;

klasa osnovna_klasa {
javnost:
void baseFunction ( ) {
cout << 'Ovo je izlaz baseFunction iz osnovne klase' << endl;
}
} ;
klasa izvedena_klasa: javna baza_klasa {
javnost:
void dFunkcija ( ) {
osnovna_klasa::osnovnafunkcija ( ) ;
cout << 'Ovo je izvedena klasa koja pristupa baseFunction iz osnovne klase ' << endl;
}
} ;
int glavni ( ) {
izvedena_klasa d;
d.dFunkcija ( ) ;
povratak 0 ;
}


Gornji program ima funkciju iz osnovne ili nadređene klase baseFunction(). Definirana je još jedna izvedena klasa koja pristupa baseFunction() u dFunction(). Glavna metoda je prvo stvaranje instance derived_class i pozivanje dFunction() koji ispisuje izlaz i baseFunction() i dFunction().



Zaključak

Iako ključna riječ 'super' ne postoji izravno u C++-u, njezino se ponašanje može oponašati kombiniranjem nasljeđivanja i nadjačavanja funkcija. Možemo uspješno pozvati i koristiti metode ili članove nadklase tako da prvo pozovemo funkcije nadklase prije nego što prijeđemo na implementaciju podklase. Ovaj post također pruža instancu C++ koda za vaše bolje razumijevanje.