Ich habe die Anzahl der Klassen Klasse 1, Klasse 2 usw. Erben Klasse A und Klasse B (aber nicht alle Klassen erben beide Klassen).Design mit mehreren Vererbung und abhängigen Elternklassen
-Code sieht wie folgt aus:
class 1: public A, public B
{
getVar() { return mVar; }
}
class 2: public A, public B
{
getVar() { return mVar; }
}
class A
{
protected: int mVar;
}
class B
{
virtual int getVar()=0;
}
Hier bin ich immer variabel von Klasse A in der Klasse B. Aber dafür habe ich getVar() { return mVar; }
in allen Klassen implementieren (classN), die von den beiden A ableiten und B.
Was sollte der richtige Design-Ansatz sein, so dass ich eine Standardimplementierung geben kann und nicht denselben Code in allen abgeleiteten Klassen schreiben muss.
Um hier einen Rat zu bekommen, musst du dein Beispiel mehr "real" * machen (sprich von real, schreibe bitte keine Dinge wie 'Klasse 1:. .. 'in Ihrem Beispiel ... machen Sie den Code so gut wie möglich geformt) *. Wie wird das verwendet? Wie soll sich getVar() für Klassen verhalten, die nur von B erben? Wenn Sie von A erben und dann der a-Zeiger auf A hochgesetzt wird, sollten Sie dann noch '-> getVar()' auf dem 'A *' aufrufen können? Grundsätzlich gilt: Wenn Sie in mehrfache Vererbung waten wollen, müssen Sie den Anwendungsfall, warum Sie es tun, wirklich festnageln. – HostileFork