C++

C++-Vererbung

C++-Vererbung
Vererbung ist ein sehr wichtiges Merkmal der objektorientierten Programmierung. Es ermöglicht dem Programmierer, eine Klasse von einer vorhandenen Klasse abzuleiten. Dies ist besonders in einem großen komplexen Projekt sehr nützlich, da es dem Programmierer ermöglicht, den Code wiederzuverwenden.

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:

  1. Einfache/einfache Vererbung
  2. Hierarchische Vererbung
  3. Mehrstufige Vererbung
  4. 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ßen
Verwenden 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ßen
Verwenden 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++.

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...