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
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 JavaIn 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 gleiche Der Umfang ist unterschiedlich Signaturen müssen unterschiedlich sein (zB: Parameter) Die Unterschriften müssen gleich sein Anzahl der möglichen Überladefunktionen Es ist nur eine übergeordnete Funktion möglich Kann ohne Vererbung auftreten Es 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.