Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

黄舟
黄舟Original
2017-01-16 11:47:051070Durchsuche

So behandeln Sie Mitgliedsvariablen mit demselben Namen bei der Vererbung

1 Wenn die Mitgliedsvariablen der Unterklasse denselben Namen haben wie die Mitgliedsvariablen der übergeordneten Klasse

2 Unterklasse erbt weiterhin die Mitglieder mit demselben Namen von der übergeordneten Klasse

3 Unterscheiden Sie Mitglieder mit demselben Namen in Unterklassen durch den Bereichsdiskriminator:: (Verwenden Sie Mitglieder mit demselben Namen der Basisklasse in der abgeleiteten Klasse und verwenden Sie explizit das Qualifikationsmerkmal für den Klassennamen)

4 , Mitglieder mit demselben Namen werden an verschiedenen Orten im Speicher gespeichert

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

2. Das Schlüsselwort static in abgeleiteten Klassen

Vererbung Was passiert, wenn es mit dem Schlüsselwort static kombiniert wird?

Theoretisches Wissen

Ø Die von der Basisklasse definierten statischen Mitglieder werden von allen abgeleiteten Klassen gemeinsam genutzt

Ø Entsprechend den Zugriffseigenschaften der statischen Mitglieder selbst und der Vererbung Methode der abgeleiteten Klasse, in Es gibt verschiedene Zugriffseigenschaften in der Klassenhierarchie (entsprechen der Zugriffskontrolle abgeleiteter Klassen)

Ø Um auf statische Mitglieder in einer abgeleiteten Klasse zuzugreifen, verwenden Sie das folgende Formular, um explizit Folgendes anzugeben:

Klassenname::member

oder greifen Sie über das Objekt auf den Objektnamen zu

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

Zusammenfassung: Der Konstruktor ist standardmäßig privat

Konzept der Mehrfachvererbung

Ø Die Vererbungsbeziehung, in der eine Klasse mehrere direkte Basisklassen hat heißt Mehrfachvererbung

Ø Mehrfachvererbungsdeklarationssyntax

von der Klasse abgeleiteter Klassenname: Basisklassenname der Zugriffskontrolle 1, Basisklassenname der Zugriffskontrolle 2, …, Basisklassenname der Zugriffskontrolle n

{

Datenelement- und Elementfunktionsdeklaration

};

Ø Klasse C kann Mitglieder der Klasse A und der Klasse B gleichzeitig basierend auf dem Zugriff erben steuern und

seine eigenen Mitglieder hinzufügen




Abgeleitete Klassenkonstruktion und Zugriff auf Mehrfachvererbung

Ø Abgeleitete Klassenkonstruktoren mehrerer Basisklassen kann die Initialisierung verwenden, um den Basisklassenkonstruktor aufzurufen, um Datenelemente zu initialisieren

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2Ø Ausführung Die Reihenfolge ähnelt dem Fall von Einzelvererbungskonstruktoren. Die Reihenfolge, in der mehrere direkte Basisklassenkonstruktoren ausgeführt werden, hängt von der Reihenfolge ab, in der jede geerbte Basisklasse beim Definieren der abgeleiteten Klasse angegeben wird.

Ø Ein abgeleitetes Klassenobjekt hat mehrere direkte oder indirekte Basisklassenmitglieder. Beim Zugriff auf Mitglieder mit unterschiedlichen Namen gibt es keine Unklarheiten. Wenn verschiedene Basisklassen Mitglieder mit demselben Namen haben, sollten diese beim Zugriff auf abgeleitete Klassenobjekte identifiziert werden.





Zwei virtuelle Vererbung Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

Wenn eine abgeleitete Klasse von mehreren Basisklassen abgeleitet ist und diese Basisklassen A gemeinsam haben Basisklasse: Beim Zugriff auf den in der Basisklasse deklarierten Namen kann es zu Mehrdeutigkeiten kommen

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2


Analyse:

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

Zusammenfassung:

Ø Wenn eine abgeleitete Klasse von mehreren Basisklassen abgeleitet ist und diese Basisklassen eine gemeinsame

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2 Basisklasse haben, dann ist die Basisklasse Beim Zugriff auf den in der Klasse deklarierten Namen

Mehrdeutigkeit kann auftreten

Ø Wenn es eine gemeinsame Basisklasse auf mehreren Vererbungspfaden gibt, dann irgendwo im Vererbungspfad

Konvergenzpunkt, diese öffentliche Basisklasse generiert mehrere Basisklassen-Unterklassen -Objekte im Objekt der abgeleiteten Klasse

Ø Damit diese öffentliche Basisklasse nur ein Unterobjekt in der abgeleiteten Klasse generiert, müssen Sie diese Basisklasse

als virtuelle Vererbung deklarieren Diese Basisklasse ist eine virtuelle Basisklasse.

Ø Die Deklaration der virtuellen Vererbung verwendet das Schlüsselwort virtual





Experiment: Beachten Sie, dass nach dem Hinzufügen des Schlüsselworts virtual der Konstruktor heißt Anzahl der Male. Zusammenfassung der wichtigsten Punkte der C++-Überprüfung Nr. 9 – Vererbung 2

3 Zusammenfassung der Vererbung

Ø Vererbung ist eine wichtige Methode zur Realisierung der Software-Wiederverwendung in der objektorientierten Programmierung. Programmierer können neue abgeleitete Klassen basierend auf vorhandenen Basisklassen definieren.

Ø Eine abgeleitete Klasse mit einfacher Vererbung hat nur eine Basisklasse. Eine abgeleitete Klasse mit Mehrfachvererbung verfügt über mehrere Basisklassen.

Ø Der Zugriff abgeleiteter Klassen auf Basisklassenmitglieder wird durch die Vererbungsmethode und die Mitgliedseigenschaften bestimmt.

Ø Rufen Sie beim Erstellen eines abgeleiteten Klassenobjekts zunächst den Basisklassenkonstruktor auf, um die Basisklassenmitglieder in der abgeleiteten Klasse zu initialisieren. Die Reihenfolge, in der Destruktoren aufgerufen werden, ist umgekehrt zur Reihenfolge, in der Konstruktoren aufgerufen werden.

Ø C++ bietet einen virtuellen Vererbungsmechanismus, um Mehrdeutigkeiten beim Mitgliedszugriff in Klassenvererbungsbeziehungen zu verhindern.

Ø Mehrfachvererbung bietet leistungsstarke Funktionen zur Wiederverwendung von Software, erhöht aber auch die Komplexität des Programms.

Das Obige ist die neunte Zusammenfassung der C++-Überprüfungspunkte – Vererbung 2. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn