Mehrdeutigkeit bei Vererbung

thekiller

Viceinator
Hallo,

ich habe mir zwei Templates programmiert welche mir das Arbeiten mit "Verketteten Listen" erleichtern.

Die Liste:
Code:
template <class TClassName> class List : public Object;

und das Element:
Code:
template <class TClassName> class Element : public Object;

Ich muss also lediglich 2 neue Klassen entwerfen welche von Liste oder von Element erben. Dass ganze funktioniert auch super.
Nun möchte ich ein weiteres Template entwerfen, welches Liste und Element vereint. Kurz: Die Liste kann gleichzeitig ein Element sein. Und um das Ganze schön objektorientiert zu haben, dachte ich mir, dass diese Template-Klasse einfach von Liste und Element erben kann.

Code:
template <class TClassName> class MultiList : public Element<TClassName>, List<TClassName>;

Soweit funktioniert dass auch. ABER sobald ich aus "MultiList" eine Methode von "Object" (z.B. void SetParent(Object *_Parent); ) aufrufe gibts natürlich Alarm da "Liste" und "Element" beide von "Objekt" erben.

Gibts für dieses Problem ein passendes Muster oder ist diese herangehensweise generell nicht geeignet?

MfG Manuel
 
Zurück