Come emulare la super parola chiave in C++

Come Emulare La Super Parola Chiave In C



Alcuni linguaggi di programmazione basati su oggetti hanno la parola chiave 'super', che consente a una sottoclasse di richiamare funzioni e membri della classe base o genitore. Alcuni linguaggi di programmazione determinano come utilizzare in modo specifico la parola chiave 'super'. Ma nel caso di C++, la parola chiave super non viene utilizzata allo stesso modo di Java e Python. In questo tutorial, studieremo e dimostreremo l'emulazione delle parole chiave super in C++.

Come emulare la super parola chiave in C++

La parola chiave nota come 'super' non è predefinita nel compilatore C++. L'ereditarietà e l'override della funzione vengono utilizzati per sviluppare una sottoclasse che prende i membri e i metodi della sua superclasse. Basta fornire l'identificatore della 'superclasse' e il membro o il metodo a cui si desidera accedere con l'operatore (::).







Sintassi

È possibile accedere a un metodo in una superclasse denominata 'parent_class' che ha un nome come 'parent_function()' in una sottoclasse utilizzando la sintassi mostrata di seguito:



classe_genitore::funzione_genitore ( ) ;



Esempio

Utilizzando C++ per emulare la funzionalità della parola chiave super per accedere alle proprietà di una classe padre, utilizzare l'operatore di risoluzione dell'ambito(::).





L'operatore di risoluzione dell'ambito (::) può essere impiegato per ottenere i membri di una classe genitore ogni volta che una classe eredita da essa. Si consideri il seguente codice come esempio:

#include
utilizzando lo spazio dei nomi std;

classe base_classe {
pubblico:
base vuotaFunzione ( ) {
cout << 'Questo è il outout di baseFunction dalla classe base' << finel;
}
} ;
class derieved_Class: public base_Class {
pubblico:
void dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Questa è una classe derivata che accede a baseFunction dalla classe base' << finel;
}
} ;
int principale ( ) {
derivato_Classe d;
d.dFunzione ( ) ;
ritorno 0 ;
}


Il programma sopra sta avendo una funzione dalla base o dalla classe genitore baseFunction(). Viene definita un'altra classe derivata che accede a baseFunction() in dFunction(). Il metodo principale crea prima un'istanza della classe derivata e chiama dFunction() che stampa l'output sia di baseFunction() che di dFunction().



Conclusione

Sebbene la parola chiave 'super' non esista direttamente in C++, il suo comportamento può essere imitato combinando ereditarietà e sostituzioni di funzioni. Possiamo chiamare e utilizzare con successo metodi o membri della superclasse chiamando prima le funzioni della superclasse prima di passare all'implementazione della sottoclasse. Questo post ha anche fornito un'istanza di codice C++ per una migliore comprensione.