Funzione di sovraccarico vs. override in C ++

Autore: Laura McKinney
Data Della Creazione: 4 Aprile 2021
Data Di Aggiornamento: 23 Aprile 2024
Anonim
C++ Programming Tutorial 93 - Operator Overloading == and +
Video: C++ Programming Tutorial 93 - Operator Overloading == and +

Contenuto

La differenza chiave tra il sovraccarico della funzione e l'override in C ++ è che il sovraccarico della funzione in C ++ è il polimorfismo in fase di compilazione mentre l'override in C ++ è un polimorfismo di runtime.


L'uso di un nome per più forme e tipi è noto come polimorfismo. Il polimorfismo è uno dei concetti più importanti nella programmazione orientata agli oggetti. Esistono molti modi per implementare il polimorfismo che funzionano con sovraccarico, sostituzione e funzione virtuale. Il sovraccarico di funzioni in C ++ è un polimorfismo in fase di compilazione mentre l'override in C ++ è un polimorfismo in fase di esecuzione.

Il sovraccarico è un polimorfismo temporale compilato. Il sovraccarico fornisce un'interfaccia comune per più metodi. Il codice medio di sovraccarico contiene lo stesso nome di funzione mentre viene ridefinito. Il sovraccarico rende una funzione sovraccaricata diversa dall'altra. Esistono diversi parametri della funzione di sovraccarico.

Il polimorfismo di runtime è noto come prevalente. L'override si ottiene utilizzando una parola chiave funzione virtuale. Questa parola chiave è utilizzata nella classe base. Quando la classe derivata ridefinisce una funzione, la funzione sostituita non può essere modificata. La sostituzione in C ++ determina quale versione della funzione viene chiamata.


Contenuto: Differenza tra sovraccarico e override di funzioni in C ++

  • Tabella di comparazione
  • Sovraccarico
  • Override
  • Differenze chiave
  • Conclusione
  • Video esplicativo

Tabella di comparazione

BaseSovraccaricoOverride
SensoIl sovraccarico di funzioni in C ++ è un polimorfismo in fase di compilazione

La sostituzione di funzione in C ++ è un polimorfismo di runtime.

 

Parola chiave C'è una parola chiave specifica nel sovraccarico"Virtuale" è una parola chiave specifica nella funzione di sostituzione.
Realizzazione Nella funzione di sovraccarico, c'è il completamento del tempo di compilazione.Nella funzione di override, c'è un risultato di runtime.
Rilegatura Nel sovraccarico delle funzioni, c'è un'associazione anticipataNella funzione di override è presente l'associazione tardiva

Sovraccarico

Il sovraccarico è un polimorfismo temporale compilato. Il sovraccarico fornisce un'interfaccia comune per più metodi. Il codice medio di sovraccarico contiene lo stesso nome di funzione mentre viene ridefinito. Il sovraccarico rende una funzione sovraccaricata diversa dall'altra. Esistono diversi parametri della funzione di sovraccarico.


Override

Il polimorfismo di runtime è noto come prevalente. L'override si ottiene utilizzando una parola chiave funzione virtuale. Questa parola chiave viene utilizzata nella classe base. Quando la classe derivata ridefinisce una funzione, la funzione sostituita non può essere modificata. La sostituzione in C ++ determina quale versione della funzione viene chiamata.

Differenze chiave

  1. Il sovraccarico di funzioni in C ++ è un polimorfismo in fase di compilazione, mentre il superamento di funzioni in C ++ è in fase di esecuzione
  2. Esiste una parola chiave specifica nel sovraccarico, mentre "Virtuale" è una parola chiave specifica nella funzione di sostituzione.
  3. Nella funzione di sovraccarico, vi è il completamento del tempo di compilazione, mentre nella funzione di sostituzione c'è un tempo di esecuzione
  4. Nel sovraccarico delle funzioni c'è un legame precoce mentre nella funzione di sostituzione c'è un legame tardivo

Conclusione

In questo articolo sopra vediamo la chiara differenza tra il sovraccarico della funzione e l'override della funzione con esempi.

Video esplicativo