Come implementare il sovraccarico delle funzioni e l'override in C ++?



Questo articolo ti introdurrà all'overload e all'override delle funzioni in C ++, che sono due dei concetti molto importanti di OOPS.

C ++ è un file in natura e vanta diverse caratteristiche. In questa sessione discuteremo come implementare l'overload di funzioni e l'override di funzioni in C ++.

I seguenti puntatori saranno trattati in questo articolo,





Andando avanti con questo articolo sul sovraccarico di funzioni e l'override in C ++

impostazione del percorso di classe in java

Funzione sovraccarico



Funzioni con lo stesso nome ma parametri diversi sono consentite in C ++ e vengono chiamate Funzione sovraccarico . È anche chiamato polimorfismo in fase di compilazione.

Per esempio:

sum (int a, float b) sum (int a, int b) sum (int a, int b, int c)

Qui ci sono tre funzioni con lo stesso nome ma l'unica cosa che le differenzia è che i parametri sono diversi su ciascuna. Quindi, a seconda dei parametri passati, viene chiamata una funzione.



Se i tipi restituiti delle funzioni sono diversi, viene considerato non valido.

Andando avanti con questo articolo sul sovraccarico di funzioni e l'override in C ++

Codice di esempio per il caricamento della funzione

include using namespace std class Addition {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Addition un cout< 

Produzione

Output - Sovraccarico e sovrascrittura delle funzioni in C ++ - Edureka

Spiegazione

Nel programma sopra, abbiamo due funzioni nella classe dell'addizione. Entrambi denominati add. Uno ha 2 parametri e l'altro ha 3 parametri.

Nella funzione main creiamo un oggetto di addizione di classe chiamato a. Chiamiamo le funzioni add con 2 e 3 parametri rispettivamente e le funzioni add vengono chiamate ed eseguono l'addizione.

Ecco come avviene il sovraccarico della funzione.

Andando avanti con questo articolo sul sovraccarico di funzioni e l'override in C ++

Funzione di override

Quando una classe derivata ha una funzione con lo stesso nome di una funzione della classe base, viene chiamata Funzione di override. Entrambe le funzioni devono avere gli stessi parametri in entrambe le classi.

Codice di esempio per l'override della funzione

#include l'utilizzo dello spazio dei nomi classe std BaseClass {public: void disp () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

Produzione:

Spiegazione:

Nel programma sopra, mostriamo la funzione di base, con lo stesso nome in derivata e classe base. Qui l'oggetto viene creato dalla classe derivata, quindi quando chiamiamo display viene visualizzato solo l'oggetto della classe figlia.

cosa è serializzabile in java

Andando avanti con questo articolo sul sovraccarico di funzioni e l'override in C ++

Ordine di eseguire l'override

Considera il codice:

#include l'utilizzo dello spazio dei nomi classe std BaseClass {public: void disp () {cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 } 

Produzione:

Spiegazione:

Nel programma sopra, mostriamo la funzione di base, con lo stesso nome nella classe derivata e nella classe base. Qui l'unica differenza rispetto al programma precedente è questa. Creiamo l'oggetto della classe figlia. All'oggetto classe figlio viene assegnato il riferimento della classe base. Questo può essere fatto anche utilizzando un altro metodo,

Sintassi

Parent_class_name :: function ()

Nell'esempio sopra, lo usiamo come,

BaseClass::disp()

Questo è un altro modo per ignorare.

Sovraccarico funzione VS Sovrascrittura funzione

Funzione sovraccarico Funzione Override
Lo scopo è lo stessoLo scopo è diverso
Le firme devono essere diverse (es: parametro)Le firme devono essere le stesse
Numero di funzioni di sovraccarico possibiliÈ possibile una sola funzione prioritaria
Può verificarsi senza ereditàSi verifica principalmente a causa dell'eredità

Quindi siamo giunti alla fine di questo articolo su 'Sovraccarico e sovrascrittura di funzioni in C ++'. Se desideri saperne di più, dai un'occhiata al da Edureka, una società di apprendimento online affidabile. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per formarti sia sui concetti di base che avanzati su Java insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog e ti risponderemo il prima possibile.