Funktionsüberladung vs. Überschreiben in C ++

Autor: Laura McKinney
Erstelldatum: 4 April 2021
Aktualisierungsdatum: 5 Kann 2024
Anonim
Funktionsüberladung vs. Überschreiben in C ++ - Andere
Funktionsüberladung vs. Überschreiben in C ++ - Andere

Inhalt

Der Hauptunterschied zwischen dem Überladen und Überschreiben von Funktionen in C ++ besteht darin, dass das Überladen von Funktionen in C ++ ein Polymorphismus zur Kompilierungszeit ist, während das Überschreiben in C ++ ein Laufzeitpolymorphismus ist.


Die Verwendung eines Namens für mehrere Formen und Typen wird als Polymorphismus bezeichnet. Polymorphismus ist eines der wichtigsten Konzepte in der objektorientierten Programmierung. Es gibt viele Möglichkeiten, Polymorphismen zu implementieren, die eine Überlastung, ein Überschreiben und eine virtuelle Funktion bewirken. Das Überladen von Funktionen in C ++ ist ein Polymorphismus zur Kompilierungszeit, während das Überschreiben in C ++ ein Laufzeitpolymorphismus ist.

Überladung ist kompilierter Zeitpolymorphismus. Überladen bietet eine gemeinsame Schnittstelle für mehrere Methoden. Der überladene Mittelwertcode enthält denselben Funktionsnamen, während er neu definiert wird. Durch Überladen unterscheidet sich eine überladene Funktion von der anderen. Es gibt verschiedene Parameter der Überlastfunktion.


Laufzeit-Polymorphismus wird als Überschreiben bezeichnet. Das Überschreiben wird durch die Verwendung eines virtuellen Funktionsschlüsselworts erreicht. Dieses Schlüsselwort wird in der Basisklasse verwendet. Wenn eine abgeleitete Klasse eine Funktion neu definiert, kann die überschriebene Funktion nicht geändert werden. Durch Überschreiben in C ++ wird festgelegt, welche Version der Funktion aufgerufen wird.

Inhalt: Unterschied zwischen Funktionsüberladung und Überschreiben in C ++

  • Vergleichstabelle
  • Überlastung
  • Überschreiben
  • Hauptunterschiede
  • Fazit
  • Erklärendes Video

Vergleichstabelle

BasisÜberlastungÜberschreiben
BedeutungDas Überladen von Funktionen in C ++ ist ein Polymorphismus zur Kompilierungszeit

Das Überschreiben von Funktionen in C ++ ist ein Laufzeitpolymorphismus.


 

Stichwort Beim Überladen gibt es ein bestimmtes Schlüsselwort"Virtuell" ist ein spezifisches Schlüsselwort beim Überschreiben von Funktionen.
Leistung In der Überladungsfunktion wird die Kompilierungszeit erreicht.Beim Überschreiben von Funktionen gibt es eine Laufzeitleistung.
Bindung Bei Funktionsüberladung liegt eine frühe Bindung vorBeim Übersteuern von Funktionen kommt es zu einer späten Bindung

Überlastung

Überladung ist kompilierter Zeitpolymorphismus. Überladen bietet eine gemeinsame Schnittstelle für mehrere Methoden. Der überladene Mittelwertcode enthält denselben Funktionsnamen, während er neu definiert wird. Durch Überladen unterscheidet sich eine überladene Funktion von der anderen. Es gibt verschiedene Parameter der Überlastfunktion.

Überschreiben

Laufzeit-Polymorphismus wird als Überschreiben bezeichnet. Das Überschreiben wird durch die Verwendung eines virtuellen Funktionsschlüsselworts erreicht. Dieses Schlüsselwort wird in der Basisklasse verwendet. Wenn eine abgeleitete Klasse eine Funktion neu definiert, kann die überschriebene Funktion nicht geändert werden. Durch Überschreiben in C ++ wird festgelegt, welche Version der Funktion aufgerufen wird.

Hauptunterschiede

  1. Das Überladen von Funktionen in C ++ ist ein Polymorphismus zur Kompilierungszeit, während das Überschreiben von Funktionen in C ++ zur Laufzeit erfolgt
  2. Beim Überladen gibt es ein bestimmtes Schlüsselwort, während beim Überschreiben von Funktionen "Virtuell" ein bestimmtes Schlüsselwort ist.
  3. Bei der Überladungsfunktion wird die Kompilierungszeit ausgeführt, während bei der Funktionsüberschreibung eine Laufzeit ausgeführt wird
  4. Bei Funktionsüberladung liegt eine frühe Bindung vor, während bei Funktionsüberschreibung eine späte Bindung vorliegt

Fazit

In diesem Artikel oben sehen wir den deutlichen Unterschied zwischen Funktionsüberladung und Funktionsüberschreibung anhand von Beispielen.

Erklärendes Video