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++
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
- Helge Kruse (21.12.2008 10:25)
- Bodo Thiesen (21.12.2008 21:45)
- Stefan Reuther (22.12.2008 16:50)
- Helge Kruse (22.12.2008 20:33)
