A szuper kulcsszó emulálása C++-ban

A Szuper Kulcsszo Emulalasa C Ban



Néhány objektum alapú programozási nyelv rendelkezik a „super” kulcsszóval, amely lehetővé teszi az alosztály számára, hogy meghívja az alap- vagy szülőosztály függvényeit és tagjait. Egyes programozási nyelvek meghatározzák, hogy a „szuper” kulcsszót konkrétan hogyan kell használni. De a C++ esetében a szuper kulcsszó nem ugyanúgy használatos, mint a Java és a Python esetében. Ebben az oktatóanyagban megvizsgáljuk és bemutatjuk a szuper kulcsszavak emulációját C++ nyelven.

A szuper kulcsszó emulálása C++ nyelven

A „super” néven ismert kulcsszó nincs előre definiálva a C++ fordítóprogramban. Az öröklődés és a függvény felülírása egy olyan alosztály fejlesztésére szolgál, amely felveszi a szuperosztály tagjait és metódusait. Csak adja meg a „szuperosztály” azonosítóját és az elérni kívánt tagot vagy metódust az operátorral (::).







Szintaxis

A „parent_class” nevű szuperosztályban egy metódushoz férhet hozzá, amelynek neve például „parent_function()” egy alosztályban, az alábbi szintaxis használatával:



szülő_osztály::szülő_függvény ( ) ;



Példa

A C++ használatával emulálja a szuperkulcsszó funkciót egy szülőosztály tulajdonságainak eléréséhez, használja a hatókörfeloldó operátort (::).





A hatókör-feloldó operátor (::) használható egy szülőosztály tagjainak lekérésére, amikor egy osztály örököl belőle. Tekintsük példaként a következő kódot:

#include
névtér használata std;

osztály alap_osztály {
nyilvános:
void baseFunction ( ) {
cout << 'Ez a baseFunction kívüli az alaposztályból' << endl;
}
} ;
class derieved_Class: public base_Class {
nyilvános:
érvénytelen dFunkció ( ) {
base_Class::baseFunction ( ) ;
cout << 'Ez egy származtatott osztály, amely az alaposztályból éri el a baseFunction-t' << endl;
}
} ;
int fő ( ) {
származtatott_d osztály;
d.dFunkció ( ) ;
Visszatérés 0 ;
}


A fenti programnak van egy függvénye a baseFunction() alap- vagy szülőosztályból. Egy másik származtatott osztály van meghatározva, amely hozzáfér a baseFunction()-hoz a dFunction()-ban. A fő módszer először a derived_class példány létrehozása, és a dFunction() meghívása, amely a baseFunction() és a dFunction() kimenetét is kiírja.



Következtetés

Bár a „szuper” kulcsszó közvetlenül nem létezik a C++-ban, viselkedése utánozható az öröklődés és a függvényfelülírások kombinálásával. Sikeresen hívhatjuk meg és használhatjuk a szuperosztály metódusait vagy tagjait, ha először a szuperosztály függvényeit hívjuk meg, mielőtt továbblépnénk az alosztály megvalósítására. Ez a bejegyzés a C++ kód egy példányát is tartalmazza a jobb megértés érdekében.