Frage zur Umsetzung eines Templates...



  • hola

    soll 'Root()' ein neues AllocNode-object zurueckgeben ?

    template<class T>
    class Allocation
    {
       public:
          template<class V>
          class AllocNode
          {
             public:
                add(const V&) { }
          };
          ...
          AllocNode<T>* Root(void) { ... } 
    
    };
    

    Meep Meep



  • vergiss mal was ich oben geschrieben habe. hatte mein hirn noch nicht eingeschalten.

    was genau probierst du zu machen ?

    Meep Meep



  • @meep meep: beim erzeuegen con CAllocation, wird automatisch eine wurztel mit dem Inhalt von T erzeugt.. root. gibts nur die wurzel des baumes zurück...

    ich muss add,insert, delete deswegen in die knoten Klasse packen weil ich ja bei jedem knoten des baummen unterknoten anhängen/löschen will..

    Baum->root()->add(..);
    
    Baum->root()->GetAt(0)->add(..);
    

    so ungefähr



  • pumuckl schrieb:

    btw: bei deinem Beispiel oben muesste es

    Baum->Root.add()
    

    heißen (Zugriffsoperatoren genau andersrum)

    Bist du dir da sicher? Baum ist kein Pointer, der Rückgabewert von Root() schon.

    @Boris: Was soll denn der Template-Parameter darstellen? (basierend auf deinen früheren Threads - kennzeichnest du damit den konkreten Node-Typ, der eingebunden werden soll?)



  • Hab ich das jetzt falsch verstanden? Du wolltest doch das jeder Knoten einen anderen Typ halten darf/kann?!



  • @CStoll: korrekt

    @david: ne immer der gleichen typ!



  • dann wuerde ich beide klassen als extra template schreiben.

    template<class T>
    class TreeNode
    {
       public:
          void add(T& value) { subnodes.add(value); }
    
       private:
          container<T> subnodes;
    };
    
    template<class T>
    class Tree
    {
       public:
          T* getRoot(void) { return root; }
    
       private:
          T *root; 
    };
    
    Tree<TreeNode<int> > Baum;
    

    vorausgesetzt das ich mir das richtig vorgestellt habe.
    soll deine baumstruktur aehnlich einer verzeichnisstruktur sein ?

    Meep Meep



  • BorisDieKlinge schrieb:

    @david: ne immer der gleichen typ!

    Nach deinem letzten Thread dachte ich, ich hätte dein Konzept verstanden. Jetzt bin ich mir nicht mehr so sicher.

    Die "Allokationen"* präsentieren doch verschiedene Handlungen, die das System zu einer bestimmten Zeit ausführen soll (soweit richtig?). Und die Baumstruktur gruppiert diese Handlungen nach Zeitablauf. Damit kommst du zwangsläufig zu einer heterogenen Baumstruktur (die zumindest zwischen inneren Knoten (Gruppierungen) und Blättern (konkrete Aktionen) unterscheiden muß).

    (z.B. besteht die Aktionsgruppe "Mail abfragen" aus den Einzelaktionen "verbinde mit Internet", "öffne Outlook", "hole alle anstehenden Mails vom Server", "schließe Outlook" und "trenne Internet-Verbindung")

    * Je öfter ich diese Bezeichnung höre, desto weniger gefällt sie mir. Imho wäre "Aktion" passender.



  • CStoll schrieb:

    Die "Allokationen"* präsentieren doch verschiedene Handlungen, die das System zu einer bestimmten Zeit ausführen soll (soweit richtig?). Und die Baumstruktur gruppiert diese Handlungen nach Zeitablauf. Damit kommst du zwangsläufig zu einer heterogenen Baumstruktur (die zumindest zwischen inneren Knoten (Gruppierungen) und Blättern (konkrete Aktionen) unterscheiden muß).

    (z.B. besteht die Aktionsgruppe "Mail abfragen" aus den Einzelaktionen "verbinde mit Internet", "öffne Outlook", "hole alle anstehenden Mails vom Server", "schließe Outlook" und "trenne Internet-Verbindung")

    schreibt er einen scheduler ?

    Meep Meep



  • Meep Meep schrieb:

    schreibt er einen scheduler ?

    Wenn ich Boris' letzten Beitrag richtig verstanden habe, sowas ähnliches:

    BorisDieKlinge schrieb:

    Also:

    Stell dir vor du Willst eine best. Ressource bspw. ein PC reservieren für eine best zeit. In dem Zeitraum der reservierung wird der PC angeschaltet, es werden e-mail abgerufen, ein Dokument geschrieben, und wieder heruntergefahren.
    das sind quasie 4 abläufe die nacheinander folgen, jeweils ne gewisse zeit andauern , und insgesammt die gesmantzeit der Reservierung (Allokation) des PCs
    darstellen. Wenn wir nun noch die Gruppieren betrachten, könnte beispielsweise e-mail abrufen durch (Outlock öffnen, e-mail lesen, outlock schliesen) gruppeiren.

    (aus "Dynamic oder Static Cast?"



  • korrekt.. ich schreibe einen scheduler...


Anmelden zum Antworten