Klassen casting



  • Hallo zusammen,

    ich möchte momentan ein Interface zu der Klasse Schiff erstellen und dann mehrere Typen von Schiffen erstellen die vom Schiffsinterface abgeleitet werden. Das ist kein Problem. Im späteren Verlauf des Programms möchte ich immer zwischen diesen Schiffstypen wechseln können. Es ist aber immer nur ein Schiffstype aktiv. Hatte das mal mit Polymorphie gelöst.

    class Schiff
    {
    };
    
    class Fregatte : public Schiff
    {
    };
    
    class Zerstörer : public Schiff
    {
    };
    
    Schiff *schiff;
    schiff = new Fregatte();
    

    Das Problem war immer wenn ich das Schiff wechseln möchte musste ich per Hand, weil ichs nicht besser wußte, alle Member der Klasse in die neue Klasse irgendwie kopieren.

    Nun ist die Frage kann ich das irgendwie mit einem cast lösen?



  • Du hast OOP falsch verstanden.
    Stichwort virtuelle Methoden.
    Aber ja, down-casten kannste.



  • Down casten will ich eigentlich nicht. Dann muss ich nochmal nachschauen wie ich das genau anstelle.


Anmelden zum Antworten