Container mit Objekten verschiedener Klassen
-
siroeduardo schrieb:
1.) static_cast oder dynamic_cast lässt sich definitiv nicht vermeiden
Das hatte ich erhofft, ist mir aber auch so rechtCSpille schrieb:
siroeduardo schrieb:
Jeder Gegenstand, hat abhängig von seinem Zweck verschiedenste Eigenschaften und kann auch diverse Eigenschaften des Characters ändern.
Manche Dinge sind real andere fantasy.Klingt doch schonmal nach ner Schnittstelle (UsableElement)
void useFor(Character& character);
In der Methode setzt du dann die entsprechenden Änderungen in deinem Character
So kannst du auf allen Elementen im Vektor
useFor(me); // oder wie auch immer
aufrufen.
Wenn du lieber alle Elemente in deinem Charakter verwalten möchtest,
delegierst ducharacter.consume(*this);
Der Parameter kann dann genau den richtigen Typ verwenden...
Dann brauchste aber mehrere consume-Funktionen mit allen Element-Typen als Parameter.
Soweit meine Idee...