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 recht

    CSpille 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 du

    character.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...


Anmelden zum Antworten