Designfrage..



  • Angenommen habe einen Container "Basis", mit den elementen vom typ "BasisElem".

    Nun hab ich einen Erweiterten Container "BasisEx" abgeleitet von "Basis", welcher Elemente miterweitetn eigenschaften "BaisElemEx" abgeleitet von "BasisElem" enhält.

    Wie würdet ihr das am besten in einer Klassenstruktur umsetzen?

    Bsiher:

    class Basis{
    
      class BasisElem{
    
      };
    
    };
    
    class BasisEx: public Basis{
    
      class BasisElemEx : public Basis::BasisElem{
    
       };
    };
    

    gibt da noch besssere alternative Implementierungen?



  • Wo ist der Unterschied zu dieser Frage:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-190552.html

    BorisDieKlinge schrieb:

    gibt da noch besssere alternative Implementierungen?

    Das ist doch überhaupt keine Implementierung. Ob das so sinnvoll ist, hängt davon ab, was du vorhast. Ich an deiner Stelle würde ohne guten Grund gar keine eigenen Container implementieren.

    Meiner Meinung nach koppelst du deine Klassen zu sehr aneinander, und du benutzt zu viel Vererbung. Ich habe den Eindruck, sobald du zwei Klassen hast, die beide einen int-Member haben, kannst du nicht anders, als sie in eine Vererbungsbeziehung zu bringen. Außerdem finde ich, dass du zu viel Wert auf "Performance" legst, wenn dein Programm noch nicht mal ordentlich läuft.

    Aber wenn du schon so fragst:

    class BasisElem { /* bla */ };
    class BasisExElem { /* blubb */ };
    
    typedef std::vector<BasisElem> Basis;
    typedef std::vector<BasisElemEx> BasisEx;
    


  • ohh.. shit.. dachte ich hab die frage in nem Andern Forum gestellt..

    Ja ich weis bin zwiegespalten... naja ich arbeite dran;)

    sorry 😞


Anmelden zum Antworten