Was ist Eleganter??



  • ja die A und B sind nicht abwechseln gestaffelt, sonder ein feste anzahl A Module dann eine feste Anzahl B module!

    Um ein down-cast komm ich nicht drum rum, da ich bei bestimmten funktionen die erweiteren parameter von A bzw. B nutzen wille nicht nur die basis parameter!



  • thordk schrieb:

    aber muss dein System zeug wissen, mit was es da zu tun hat?...

    Manchmal schon.
    Ich würde anders herum sagen: WENN Dein System nicht unbedingt wissen muss, welcher Typ konkret vorliegt, DANN ist (Laufzeit-)Polymorphie das erste Mittel der Wahl. 😉

    Im konkreten Fall scheinen aber die Typen A und B nur unwesentlich miteinander verknüpft zu sein, so dass eine getrennte Handhabung sinnvoller ist.

    struct Schule {
       vector<Schueler> schueler;
       vector<Raum> raeume;
    };
    

    ... würde man ja auch nicht per Polymorphie in denselben vector pressen. 😃

    Gruß,

    Simon2.


Anmelden zum Antworten