Öffentliche und private Vererbung in C++

Wie wir wissen aus der Literatur, die für die öffentliche Vererbung das Objekt der Kind-Klasse (sub-Klasse) kann auch als Objekt der Basisklasse (super-Klasse). Warum das Objekt der sub-Klasse kann nicht als ein Objekt betrachtet werden, der super-Klasse, wenn die Vererbung ist protected oder private?

Hmm, deine Frage ist unklar. Wenn Sie eine Klasse, die erbt, und eine andere Klasse, die erbt Klasse ist ein Objekt seiner Oberklasse. Das ist die grundlegende definition von Polymorphismus.
Naja, welche Methoden würden Sie der Lage sein, auf ein solches Objekt?
Sie irren in zweierlei Hinsicht. 1. Private Vererbung nicht-Modell-eine Beziehung, und Sie können nicht mit einem privat-als Unterklasse einer Oberklasse. 2. Es ist nicht die definition von Polymorphismus. Lesen Sie dieser. I. e. Vorlagen sind sicherlich polymorphe, aber Sie haben nichts zu tun mit der Vererbung.
ONeal: Sie sind leicht schief auf 1. Siehe meine aktualisierte Antwort unten.
Es scheint davon abzuhängen, was wir "bedeutet" Erben der Schnittstelle". Wenn man von der externen Kunden-Perspektive, es ist wahr. Wenn man von der Klasse selbst (oder Ihrer Unterklassen, die ich würde sagen die Kunden sind von der Klasse auch) es ist nicht korrekt, da die geerbte Schnittstelle können frei verwendet werden, als solche.

InformationsquelleAutor Narek | 2011-01-06

Schreibe einen Kommentar