Hur man emulerar supernyckelordet i C++

Hur Man Emulerar Supernyckelordet I C



Vissa objektbaserade programmeringsspråk har nyckelordet 'super', vilket gör att en underklass kan anropa funktioner och medlemmar av bas- eller överordnad klassen. Vissa programmeringsspråk bestämmer hur nyckelordet 'super' ska användas specifikt. Men i fallet med C++ används inte supernyckelordet på samma sätt som i Java och Python. I den här handledningen kommer vi att studera och demonstrera emuleringen av supernyckelord i C++.

Hur man emulerar supernyckelordet i C++

Nyckelordet känt som 'super' är inte fördefinierat i C++-kompilatorn. Arvs- och funktionsåsidosättandet används för att utveckla en underklass som tar sin superklasss medlemmar och metoder. Ange bara identifieraren för 'superklassen' och den medlem eller metod du vill komma åt med operatören (::).







Syntax

Du kan komma åt en metod i en superklass som heter 'parent_class' som har ett namn som 'parent_function()' i en underklass genom att använda syntaxen som visas nedan:



parent_class::parent_function ( ) ;



Exempel

Använd C++ för att emulera supernyckelordsfunktionen för att komma åt egenskaperna för en överordnad klass, använd scope resolution operator(::).





Omfattningsupplösningsoperatören (::) kan användas för att få medlemmarna i en överordnad klass närhelst en klass ärver från den. Betrakta följande kod som ett exempel:

#include
använder namnutrymme std;

klass bas_Klass {
offentlig:
void baseFunction ( ) {
cout << 'Detta är out of baseFunction från basklassen' << endl;
}
} ;
class derieved_Class: public base_Class {
offentlig:
ogiltig dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Detta är härledd klass som får åtkomst till baseFunction från basklassen' << endl;
}
} ;
int main ( ) {
härledd_Klass d;
d.dFunction ( ) ;
lämna tillbaka 0 ;
}


Ovanstående program har en funktion från basen eller förälderklassen baseFunction(). En annan härledd klass är definierad som har åtkomst till baseFunction() i dFunction(). Huvudmetoden är att först skapa en instans av klassen derived_class och anropa dFunction() som skriver ut utdata från både baseFunction() och dFunction().



Slutsats

Även om nyckelordet 'super' inte direkt existerar i C++, kan dess beteende efterliknas genom att kombinera arv och funktionsåsidosättningar. Vi kan framgångsrikt anropa och använda metoder eller medlemmar av superklassen genom att anropa funktionerna i superklassen först innan vi går vidare till implementeringen av underklassen. Det här inlägget gav också en instans av C++-kod för din bättre förståelse.