In diesem Artikel werden wir das Vererbungskonzept in der C++-Programmierung diskutieren. Wir werden das Konzept der Friend-Funktion in C++ anhand von Arbeitsbeispielen erklären.
Warum Vererbung?
Vererbung ermöglicht das Erstellen einer neuen Klasse oder abgeleiteten Klasse von einer anderen Klasse oder Basisklasse. Die abgeleitete Klasse oder die untergeordnete Klasse verfügt über alle Funktionen der übergeordneten Klasse oder Basisklasse. Wir können den Code mit Hilfe von Vererbung wiederverwenden.
Art der Vererbung
Es gibt verschiedene Arten der Vererbung:
- Einfache/einfache Vererbung
- Hierarchische Vererbung
- Mehrstufige Vererbung
- Mehrfachvererbung
In diesem Artikel betrachten wir nur die einfache/einfache Vererbung.
Beispiel 1:
Schauen wir uns nun ein Beispielprogramm an, um das Konzept der Vererbung in C . zu verstehen++. Wir haben eine Basisklasse definiert und daraus eine weitere Klasse abgeleitet. Daher hat die abgeleitete Klasse die Features (Member und Funktionen) der Basisklasse.
#einschließenVerwenden von Namespace-Std;
Klasse Base_Class
Öffentlichkeit:
int ich;
Leere Anzeige()
cout << "Display of Base Class " << i << endl;
;
Klasse Derived_Class:öffentliche Base_Class
Öffentlichkeit:
Leere anzeigen()
cout << "Show of Derived Class" << endl;
;
int main()
Abgeleitete_Klasse dc;
dc.ich = 100;
dc.Anzeige();
dc.Show();
0 zurückgeben;
Beispiel 2:
Dies ist ein weiteres Beispiel für die Vererbung in C++. In diesem Beispiel sehen wir, wie die Konstruktoren aufgerufen werden, wenn ein abgeleitetes Klassenobjekt erstellt wird.
Wie Sie unten sehen können, haben wir zwei Basisklassenkonstruktoren und drei abgeleitete Klassenkonstruktoren definiert. Sie können an der folgenden Ausgabe deutlich erkennen, dass der Basisklassenkonstruktor zuerst aufgerufen wird, bevor der abgeleitete Klassenkonstruktor aufgerufen wird.
#einschließen#einschließen
Verwenden von Namespace-Std;
Klasse Base_Class
Öffentlichkeit:
Base_Class()
cout << "Base_Class - No Parameters" << endl;
Base_Class(int x)
cout << "Base_Class - Parameters : " << x << endl;
;
Klasse Derived_Class:öffentliche Base_Class
Öffentlichkeit:
Abgeleitete Klasse()
cout << "Derived_Class - No Parameters" << endl;
Abgeleitete_Klasse(int y)
cout << "Derived_Class - Parameters : " << y << endl;
Abgeleitete_Klasse(int x,int y):Basis_Klasse(x)
cout << "Param of Derived_Class : " << y << endl;
;
int main()
Abgeleitete_Klasse d(7,19);
Beispiel 3:
In diesem Beispiel werden wir sehen, wie abgeleitete Klassenobjekte verwendet werden können.
Wie Sie sehen, sind zwei Klassen definiert: Rectangle_Class und Cube_Class. Die Rectangle_Class ist die Basisklasse, von der die abgeleitete Klasse, d.e., Cube_Class wird abgeleitet. Daher erben wir die Features von Rectangle_Class an Cube_Class.
Sie können auch feststellen, dass wir die Cube_Class mit der öffentlichen Zugriffskontrolle erben. Dies bedeutet, dass die abgeleitete Klasse auf alle nicht privaten Member der Basisklasse zugreifen kann.
Wir haben ein Objekt der abgeleiteten Klasse deklariert und rufen dann die Methoden der Basisklasse auf, d.e., setLength() und setBreadth().
#einschließenVerwenden von Namespace-Std;
Klasse Rectangle_Class
Privatgelände:
int-Länge;
int Breite;
Öffentlichkeit:
Rechteck_Klasse();
Rechteck_Klasse(int l,int b);
Rechteck_Klasse(Rechteck_Klasse &r);
int getLength()
Rücklauflänge;
int getBreadth()
Rückkehrbreite;
void setLength(int l);
void setBreadth(int b);
int-Bereich();
;
Klasse Cube_Class:öffentliche Rectangle_Class
Privatgelände:
int Höhe;
Öffentlichkeit:
Cube_Class(int h)
Höhe = h;
int getHeight()
Rückholhöhe;
void setHeight(int h)
Höhe = h;
int-Volumen ()
zurück getLength()*getBreadth()*Höhe;
;
Rectangle_Class::Rectangle_Class()
Länge=1;
Breite = 1;
Rectangle_Class::Rectangle_Class(int l,int b)
Länge = 1;
Breite = b;
Rectangle_Class::Rectangle_Class(Rectangle_Class &r)
Länge=r.Länge;
Breite=r.Breite;
void Rectangle_Class::setLength(int l)
Länge = 1;
void Rectangle_Class::setBreadth(int b)
Breite = b;
int Rectangle_Class::area()
Rücklauflänge*Breite;
int main()
Würfel_Klasse c(8);
c.setLänge(12);
c.setBreadth(9);
cout<<"Volume is "<
Fazit:
In diesem Artikel habe ich das Konzept der Vererbung in C . erklärt++. C++ unterstützt verschiedene Arten der Vererbung, einschließlich „Mehrfachvererbung“ (i.e., Vererbung von Features von mehreren Basisklassen oder Elternklassen). Der Einfachheit halber habe ich hier jedoch nur die einfache Vererbung betrachtet. Ich habe drei Arbeitsbeispiele gezeigt, um zu erklären, wie wir Vererbung in der C++-Programmierung verwenden und den Code wiederverwenden können. Darüber hinaus ist dies eine sehr nützliche Funktion von C++.