Was ist der Vererbungskonstruktor in C++

Was Ist Der Vererbungskonstruktor In C



In C++, Nachlass ist ein Schlüsselbegriff in der objektorientierten Programmierung. Eine abgeleitete Klasse kann die Merkmale und Verhaltensweisen einer Basisklasse dank der leistungsfähigen erben Nachlass Fähigkeit in C++. Eine abgeleitete Klasse erbt sofort alle Mitglieder der Basisklasse, wenn sie gebildet wird. Der Konstruktor der abgeleiteten Klasse muss auch die Basisklassenmitglieder initialisieren. In C++, Nachlass ist eine leistungsstarke Funktion, die es Entwicklern ermöglicht, Code wiederzuverwenden, die Effizienz zu verbessern und Code in logischen Hierarchien zu organisieren.

Neben der Vererbung sind auch Konstruktoren in C++ unerlässlich. A Konstrukteur ist eine eindeutige Member-Funktion, mit der Sie die Eigenschaften des Objekts initialisieren können. Ein Vererbungskonstruktor ist ein Konstruktor, der verwendet wird, um sowohl die Basisklasse als auch abgeleitete Klassenobjekte zu initialisieren, die die abgeleitete Klasse geerbt hat. Der Vererbungskonstruktor ist für die Initialisierung sowohl der geerbten Basisklassenmitglieder als auch der abgeleiteten Klassenmitglieder verantwortlich. Um dies zu erreichen, ruft der Konstruktor den Konstruktor der Basisklasse auf und stellt sicher, dass alle Member der abgeleiteten Klasse ordnungsgemäß initialisiert werden, einschließlich der von der Basisklasse geerbten.

Durch Aufrufen des Konstruktors der Basisklasse und Übergeben der erforderlichen Parameter, der Vererbungskonstruktor initialisiert die Mitglieder der Basisklasse. Dies geschieht mit der 'Basisklasse (Argumente)' Initialisierungsliste im Konstruktor. Weitere Anweisungen speziell für die abgeleitete Klasse werden im Konstruktorkörper bereitgestellt.







Die Syntax für erben Eine Klasse in C++ ist:



Klasse Abgeleitete Klasse : accessSpecifier BaseClass {
// Klassenmitglieder
} ;

Die neue Klasse, die in diesem Fall gebildet wird, 'Abgeleitete Klasse', wird von erben „Basisklasse“. Die Zugriffsebene auf die geerbten Mitglieder wird durch das „ accessSpecifier“. C++ verwendet drei Arten von Zugriffsbezeichnern, nämlich „öffentlich“, „privat“, Und 'geschützt' . Das Wort 'öffentlich' gibt an, dass die abgeleitete Klasse Zugriff auf die öffentlichen Member der Basisklasse hat. Die abgeleitete Klasse hat gemäß der keinen Zugriff auf die Mitglieder der Basisklasse 'Privatgelände' Bezeichner. Die abgeleitete Klasse hat Zugriff auf die geschützten Mitglieder der Basisklasse, die gemäß der von ihren untergeordneten Klassen geerbt werden können 'geschützt' Bezeichner.



Beispiel für Vererbung in C++

Das folgende Beispiel zeigt die Implementierung von Nachlass in C++:





#include
verwenden Namensraum Standard ;

Klasse Tier {
öffentlich :
Leere essen ( ) {
cout << 'Ich kann essen!' << Ende ;
}
Leere schlafen ( ) {
cout << 'Ich kann schlafen!' << Ende ;
}
} ;
Klasse Katze : öffentlich Tier {
öffentlich :
Leere Miau ( ) {
cout << 'Ich kann miauen!' << Ende ;
}
} ;
int hauptsächlich ( ) {
Katze Katze1 ;
Kat1. essen ( ) ;
Kat1. schlafen ( ) ;
Kat1. Miau ( ) ;

zurückkehren 0 ;
}

Der angegebene Code definiert zwei Klassen, 'Tier' Und 'Katze' , Wo 'Katze' ist abgeleitet von 'Tier' . Beide Klassen haben einige Mitgliedsfunktionen, wie z 'Essen schlafen' , Und 'Miau' . Die Hauptfunktion erstellt ein Objekt der Klasse 'Katze' und ruft die an vererbt Funktionen aus der Klasse 'Tier' sowie die spezifische Funktion der Klasse 'Katze' , welches ist 'Miau' . Das Programm gibt den Text an die Konsole aus und zeigt an, dass die Katze essen, schlafen und miauen kann.

Ausgang



Bei der Ableitung einer Klasse werden alle Elementvariablen und Elementfunktionen der Basisklasse an die abgeleitete Klasse übertragen. Der vererbt Die Zugänglichkeit der Member in der abgeleiteten Klasse wird durch den Zugriffsbezeichner bestimmt. Die abgeleitete Klasse kann auch bereits vorhandene Merkmale durch neue Merkmale ersetzen. Es kann neue Implementierungen für die Methoden der Basisklasse und neue Mitgliedsfunktionen und -variablen hinzufügen.

Es ist wichtig, sich daran zu erinnern, dass die Vererbungskonstruktor muss verwendet werden, um den Konstruktor der Basisklasse explizit mit den erforderlichen Parametern aufzurufen, wenn die Basisklasse einen Standardkonstruktor hat oder wenn dieser nicht verfügbar ist.

Abschluss

Die starke Eigenschaft von Nachlass in C++ ermöglicht es Klassen, Code wiederzuverwenden, indem Eigenschaften und Aktionen von anderen geerbt werden. Ein nützliches Feature von C++ Vererbungskonstruktor ermöglicht es abgeleiteten Klassen, die Eigenschaften, Methoden und Datenmember einer Basisklasse zu erben. Durch das Hinzufügen einer Initialisierungsliste für Basisklassenkonstruktoren wird sie unter Verwendung derselben Syntax wie ein Standardkonstruktor definiert. C++-Programmierer können die Codeduplizierung minimieren und die Codestruktur verbessern, indem sie die verwenden Vererbungskonstruktor . Zum Erstellen komplexer Klassenhierarchien in der objektorientierten Programmierung ist es ein wichtiges Werkzeug.