nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Mehrfachvererbung (was: Defekt in der Sprache? || Serializable-Interface realisieren)

Von: Bodo Thiesen (bothie@gmx.de) [Profil]
Datum: 19.12.2008 05:03
Message-ID: <gif6f9$6bj$03$3@news.t-online.com>
Newsgroup: de.comp.lang.iso-c++
Hallo NG

In welchem Fall braucht man eine Basisklasse, die mehrmals vererbt wird,
tatsächlich doppelt? Mir fällt einfach kein Beispiel ein,
bei dem
man das
braucht, und es nicht mit einem einfachen Member lösbar ist.

Also:

class Jeopardy {
// ...
};

class Derivator1 : Jeopardy {
// ...
};

class Derivator2 : Jeopardy {
// ...
};

class DoubleJeopardy : Derivator1, Derivator2 {
// ...
};

Hier wird Jeopardy über D1 und D2 in DJ vererbt und ist somit doppelt
vorhanden. Kann mir jemand ein Beispiel nennen, bei dem man Jeopardy nicht
virtuell ableiten kann UND bei dem man auch nicht einfach Jeopardy als
Member in D1 und D2 deklarieren kann, also

class Derivator1 {
Jeopardy j;
// Methoden von j als Durchreichmethoden
// ...
};

class Derivator2 {
Jeopardy j;
// Methoden von j als Durchreichmethoden
// ...
};

Das Argument, daß Jeopardy ggf. protected Member hat, lässt sich
durch
eine entsprechende Hilfs-Klasse umgehen - das zählt also nicht.

Gruß, Bodo

[ Auf dieses Posting antworten ]

Antworten