Super-avainsanan emulointi C++:ssa

Super Avainsanan Emulointi C Ssa



Joissakin oliopohjaisissa ohjelmointikielissä on 'super'-avainsana, jonka avulla alaluokka voi kutsua perus- tai yläluokan toimintoja ja jäseniä. Jotkut ohjelmointikielet määräävät, kuinka 'super'-avainsanaa tulisi käyttää. Mutta C++:n tapauksessa super-avainsanaa ei käytetä samalla tavalla kuin Javassa ja Pythonissa. Tässä opetusohjelmassa tutkimme ja esittelemme superavainsanojen emulointia C++:ssa.

Kuinka emuloida superavainsana C++:ssa

Avainsanaa, joka tunnetaan nimellä 'super', ei ole ennalta määritetty C++-kääntäjässä. Periytyvyyden ja funktion ohitusta käytetään kehittämään alaluokka, joka ottaa sen superluokan jäsenet ja menetelmät. Anna vain 'superluokan' ja jäsenen tai menetelmän tunniste, johon haluat käyttää operaattoria (::).







Syntaksi

Voit käyttää menetelmää superluokassa nimeltä 'parent_class', jonka nimi on 'parent_function()' aliluokassa käyttämällä alla näkyvää syntaksia:



vanhempi_luokka::parent_function ( ) ;



Esimerkki

Käytä C++:aa superavainsanatoiminnon emulointiin päästäksesi pääluokan ominaisuuksiin, käytä laajuuden resoluutiooperaattoria (::).





Laajuuden resoluutiooperaattoria (::) voidaan käyttää pääluokan jäsenten hankkimiseen aina, kun luokka perii siitä. Harkitse esimerkkiä seuraavaa koodia:

#include
käyttäen nimiavaruutta std;

luokka perus_luokka {
julkinen:
void baseFunction ( ) {
cout << 'Tämä on out of baseFunction perusluokasta' << endl;
}
} ;
class derieved_Class: public base_Class {
julkinen:
mitätön dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Tämä on johdettu luokka, joka käyttää baseFunctionia perusluokasta' << endl;
}
} ;
int main ( ) {
derieved_Class d;
d.dFunction ( ) ;
palata 0 ;
}


Yllä olevalla ohjelmalla on funktio perus- tai yläluokasta baseFunction(). Toinen johdettu luokka on määritetty, joka käyttää baseFunction()-funktiota dFunction()-funktiossa. Päämenetelmä on ensin luoda derived_class instanssi ja kutsua dFunction(), joka tulostaa sekä baseFunction()- että dFunction()-tuloksen.



Johtopäätös

Vaikka 'super'-avainsanaa ei ole suoraan C++:ssa, sen käyttäytymistä voidaan jäljitellä yhdistämällä periytymisen ja funktion ohitukset. Voimme kutsua ja käyttää superluokan menetelmiä tai jäseniä onnistuneesti kutsumalla ensin superluokan funktiot ennen kuin siirrymme alaluokan toteutukseen. Tämä viesti tarjosi myös C++-koodin, jotta ymmärrät paremmin.