thekiller
Viceinator
Hallo,
ich habe mir zwei Templates programmiert welche mir das Arbeiten mit "Verketteten Listen" erleichtern.
Die Liste:
und das Element:
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.
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
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