Wie implementiere ich das Überladen und Überschreiben von Funktionen in C ++?



Dieser Artikel führt Sie in das Überladen und Überschreiben von Funktionen in C ++ ein, zwei der sehr wichtigen Konzepte von OOPS.

C ++ ist ein in der Natur und es verfügt über verschiedene Funktionen. In dieser Sitzung werden wir diskutieren, wie Funktionsüberladung und Funktionsüberschreibung in C ++ implementiert werden.

Die folgenden Hinweise werden in diesem Artikel behandelt:





Fahren Sie mit diesem Artikel über das Überladen und Überschreiben von Funktionen in C ++ fort

Funktionsüberladung



Funktionen mit demselben Namen, aber unterschiedlichen Parametern sind in C ++ zulässig und werden aufgerufen Funktionsüberladung . Es wird auch als Polymorphismus zur Kompilierungszeit bezeichnet.

Beispielsweise:

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

Hier gibt es drei Funktionen mit demselben Namen, aber das einzige, was sie unterscheidet, ist, dass die Parameter jeweils unterschiedlich sind. Abhängig von den übergebenen Parametern wird also eine Funktion aufgerufen.



Wenn die Rückgabetypen der Funktionen unterschiedlich sind, wird dies als ungültig betrachtet.

Fahren Sie mit diesem Artikel über das Überladen und Überschreiben von Funktionen in C ++ fort

Beispielcode für Funktion überladen

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 ein cout< 

Ausgabe

Überladen und Überschreiben von Ausgabefunktionen in C ++ - Edureka

Erläuterung

Im obigen Programm haben wir zwei Funktionen in der Additionsklasse. Beide benannten add. Einer hat 2 Parameter und der andere hat 3 Parameter.

Konvertieren Sie Binär in Dezimal Java

In der Hauptfunktion erstellen wir ein Objekt der Klassenaddition namens a. Wir rufen die Add-Funktionen mit 2 bzw. 3 Parametern auf und die Add-Funktionen werden aufgerufen und führen eine Addition durch.

So erfolgt die Funktionsüberladung.

Fahren Sie mit diesem Artikel über das Überladen und Überschreiben von Funktionen in C ++ fort

Funktionsüberschreibung

Wenn eine abgeleitete Klasse eine Funktion mit demselben Namen wie eine Funktion der Basisklasse hat, wird sie aufgerufen Funktionsüberschreibung. Beide Funktionen müssen in beiden Klassen dieselben Parameter haben.

Beispielcode zum Überschreiben von Funktionen

#include using Namespace std class 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 } 

Ausgabe:

Erläuterung:

Im obigen Programm zeigen wir die Grundfunktion mit demselben Namen in der abgeleiteten und der Basisklasse. Hier wird das Objekt aus der abgeleiteten Klasse erstellt. Wenn wir also display aufrufen, wird nur das untergeordnete Klassenobjekt angezeigt.

Fahren Sie mit diesem Artikel über das Überladen und Überschreiben von Funktionen in C ++ fort

Befehl zum Überschreiben

Betrachten Sie den Code:

#include using Namespace std class 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 } 

Ausgabe:

Erläuterung:

Im obigen Programm zeigen wir die Grundfunktion mit demselben Namen in der abgeleiteten und der Basisklasse. Hier ist der einzige Unterschied zum vorherigen Programm, dass. Wir erstellen das Objekt der untergeordneten Klasse. Das untergeordnete Klassenobjekt erhält die Referenz der Basisklasse. Dies kann auch mit einer anderen Methode erfolgen:

Syntax

Parent_class_name :: function ()

Im obigen Beispiel verwenden wir es als,

BaseClass :: disp ()

Dies ist eine andere Art des Überschreibens.

Funktionsüberladung VS Funktionsüberschreibung

Fibonacci-Sequenz in c ++
Funktionsüberlastung Funktionsüberschreibung
Der Umfang ist der gleicheDer Umfang ist unterschiedlich
Signaturen müssen unterschiedlich sein (zB: Parameter)Die Unterschriften müssen gleich sein
Anzahl der möglichen ÜberladefunktionenEs ist nur eine übergeordnete Funktion möglich
Kann ohne Vererbung auftretenEs tritt hauptsächlich aufgrund von Vererbung auf

Damit sind wir am Ende dieses Artikels zum Thema 'Überladen und Überschreiben von Funktionen in C ++' angelangt. Wenn Sie mehr erfahren möchten, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka wurde entwickelt, um Sie sowohl für Kern- als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring zu schulen.

Hast du eine Frage an uns? Bitte erwähne es im Kommentarbereich dieses Blogs und wir werden uns so schnell wie möglich bei dir melden.