Attributvererbung
-
Hi!
Ich leite von einer Klasse 2 weitere ab. Diese beinhalten beide als Attribute einen vector, doch beinhaltet dieser in der 1. abgeleiteten Klasse Variablen vom Typ A und in der 2. vom Typ B. Da die Operationen teilweise recht ähnlich sind, würde ich gerne einen vector von einem "dummy"-Typ in die Oberklasse der beiden abgeleiteten bringen und eben in den abgeleiteten diesen mit den speziellen Typen "überschreiben". (also in gewisser weise ein "abstraktes" Attribut)
Ist sowas möglich und wenn, wie?Ich danke euch, für eure Hilfe!

-
Wenn A ein Foo ist und B ein Foo ist, dann kannst Du beide von Foo ableiten und sie über die Foo Schnittstelle ansprechen. Dann kannst Du einen vector<Foo*>, vector<SmartPtr<Foo> > oder ptr_vector<Foo> nehmen.
Ich vermute aber, dass du hier Vererbung für "code reuse" missbrauchen möchtest. Bevor man vererbt immer prüfen ob nicht eine Komposition reicht.
-
Du könntest das mit Templates lösen.
Alternativ kannst du auch einen Vector anlegen der Zeiger des Typs "basis" speichert und in den abgeleiteten klassen speicherst du dann jeweils eine eigene Ableitung von "basis" (als Zeiger).cu