virtual public Vererbung?
-
Hi,
in der OSTREAM Datei erbt basic_ostream virtuell publik:
class basic_ostream : virtual public basic_ios<_E, _Tr> {
virtual public, was bedeutet das?
So eine Vererbung kenne ich nicht, oder ist das das Selbe wie eine publike Vererbung?MfG MAV
-
Virtual Public macht man bei Mehrfachvererbung:
Es kann vorkommen, dass eine Klasse aufgrund von Mehrfachvererbung über mehrere Vererbungspfade sozusagen 2 x ein Vorfahre ist. Wenn man das verhindern will, macht vererbt man virtual.
-
Wenn man dieses nicht macht, gibt es dann einen Compilerfehler oder was gibt es dann für Probleme?
MfG MAV
-
ne. Wenn es das ist, was Du willst, isses ok. Du hast aber dann halt zweimal von der Klasse geerbt und dementsprechend alles doppelt. Du musst dann natürlich die geerbten Methoden in der Ableitung implementieren um festzulegen, welche aufgerufen wird.
Normalerweise will man aber halt nicht zweimal von irgendner Basisklasse erben.
-
Achso... Verstehe!