<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Frage zur Umsetzung eines Templates...]]></title><description><![CDATA[<p>Habe eine Baumstruktur, und will diese als Template gestalten, so das eine beliebiger Typ als Knoten erzeugt und in den Baum integriert werden kann</p>
<p>Grobstruktur des Baumklasse:</p>
<p>//Baumstruktur</p>
<pre><code class="language-cpp">class CAllocation{

  //Knoten
  class CAllocNode{
     add(..);
     insert(..);
     delete(...);
  };

  CAllocation(){
    //Erzeugung der Wurzel als CAllocNode
  }
  CAllocNode* Root(){...};
};
</code></pre>
<p>wie mach ich das , das nun die Knoten eine bestimmten Typ represenieren?</p>
<p>Später soll das ganze so Funktionieren</p>
<pre><code class="language-cpp">CAllocation&lt;TYP&gt; Baum;

Baum.Root()-&gt;add(TYP);
</code></pre>
<p>Baum</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187371/frage-zur-umsetzung-eines-templates</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 15:10:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187371.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Jul 2007 05:57:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 05:59:55 GMT]]></title><description><![CDATA[<p>Habe eine Baumstruktur, und will diese als Template gestalten, so das eine beliebiger Typ als Knoten erzeugt und in den Baum integriert werden kann</p>
<p>Grobstruktur des Baumklasse:</p>
<p>//Baumstruktur</p>
<pre><code class="language-cpp">class CAllocation{

  //Knoten
  class CAllocNode{
     add(..);
     insert(..);
     delete(...);
  };

  CAllocation(){
    //Erzeugung der Wurzel als CAllocNode
  }
  CAllocNode* Root(){...};
};
</code></pre>
<p>wie mach ich das , das nun die Knoten eine bestimmten Typ represenieren?</p>
<p>Später soll das ganze so Funktionieren</p>
<pre><code class="language-cpp">CAllocation&lt;TYP&gt; Baum;

Baum.Root()-&gt;add(TYP);
</code></pre>
<p>Baum</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328164</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 19 Jul 2007 05:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 06:29:25 GMT]]></title><description><![CDATA[<p>Schau dir mal boost::any an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328172</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Thu, 19 Jul 2007 06:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 06:32:32 GMT]]></title><description><![CDATA[<p>das wäre ne alternative, aber wenn ich das mit templates machen will?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328174</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 19 Jul 2007 06:32:32 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 06:35:37 GMT]]></title><description><![CDATA[<p>Alle Member, auch Unterklassen eines KLassentemplates, sind automatisch auch Templates. Also:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
class CAllocation
{
public:
  class CAllocNode
  {
  private: 
    T value;
  public:
    void insert(T);
    // etc. 
  };
};
</code></pre>
<p>Allerdings stellt sich mir die Frage, wieso du Methoden wie insert() und add() in die node-Klasse packen willst. Ich würde die Node-Klasse eher nur intern verwenden um die Implementierung umzusetzen und insert() &amp; co als methoden von CAllocation implementieren, so dass der Klient sich nur mit CAllocation rumärgern muss <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> (Sonst kommen im Klientcode so Konstrukte wie CAllocation&lt;int&gt;::CAllocNode gehäuft vor)</p>
<p>Sie dir evtl. auch mal die STL-Container deines Compilers an.</p>
<p>btw: bei deinem Beispiel oben muesste es</p>
<pre><code class="language-cpp">Baum-&gt;Root.add()
</code></pre>
<p>heißen (Zugriffsoperatoren genau andersrum)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328175</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 19 Jul 2007 06:35:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 06:39:17 GMT]]></title><description><![CDATA[<p>hola</p>
<p>soll 'Root()' ein neues AllocNode-object zurueckgeben ?</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class Allocation
{
   public:
      template&lt;class V&gt;
      class AllocNode
      {
         public:
            add(const V&amp;) { }
      };
      ...
      AllocNode&lt;T&gt;* Root(void) { ... } 

};
</code></pre>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328177</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 19 Jul 2007 06:39:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 06:47:42 GMT]]></title><description><![CDATA[<p>vergiss mal was ich oben geschrieben habe. hatte mein hirn noch nicht eingeschalten.</p>
<p>was genau probierst du zu machen ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328183</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 19 Jul 2007 06:47:42 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 06:50:22 GMT]]></title><description><![CDATA[<p>@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...</p>
<p>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..</p>
<pre><code class="language-cpp">Baum-&gt;root()-&gt;add(..);

Baum-&gt;root()-&gt;GetAt(0)-&gt;add(..);
</code></pre>
<p>so ungefähr</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328185</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 19 Jul 2007 06:50:22 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 06:52:57 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>btw: bei deinem Beispiel oben muesste es</p>
<pre><code class="language-cpp">Baum-&gt;Root.add()
</code></pre>
<p>heißen (Zugriffsoperatoren genau andersrum)</p>
</blockquote>
<p>Bist du dir da sicher? Baum ist kein Pointer, der Rückgabewert von Root() schon.</p>
<p>@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?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328186</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 19 Jul 2007 06:52:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 06:56:09 GMT]]></title><description><![CDATA[<p>Hab ich das jetzt falsch verstanden? Du wolltest doch das jeder Knoten einen anderen Typ halten darf/kann?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328188</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Thu, 19 Jul 2007 06:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 07:00:47 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: korrekt</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22930">@david</a>: ne immer der gleichen typ!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328191</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 19 Jul 2007 07:00:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 07:16:15 GMT]]></title><description><![CDATA[<p>dann wuerde ich beide klassen als extra template schreiben.</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class TreeNode
{
   public:
      void add(T&amp; value) { subnodes.add(value); }

   private:
      container&lt;T&gt; subnodes;
};

template&lt;class T&gt;
class Tree
{
   public:
      T* getRoot(void) { return root; }

   private:
      T *root; 
};

Tree&lt;TreeNode&lt;int&gt; &gt; Baum;
</code></pre>
<p>vorausgesetzt das ich mir das richtig vorgestellt habe.<br />
soll deine baumstruktur aehnlich einer verzeichnisstruktur sein ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328195</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 19 Jul 2007 07:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 07:19:58 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22930">@david</a>: ne immer der gleichen typ!</p>
</blockquote>
<p>Nach deinem letzten Thread dachte ich, ich hätte dein Konzept verstanden. Jetzt bin ich mir nicht mehr so sicher.</p>
<p>Die &quot;Allokationen&quot;<sup>*</sup> 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ß).</p>
<p>(z.B. besteht die Aktionsgruppe &quot;Mail abfragen&quot; aus den Einzelaktionen &quot;verbinde mit Internet&quot;, &quot;öffne Outlook&quot;, &quot;hole alle anstehenden Mails vom Server&quot;, &quot;schließe Outlook&quot; und &quot;trenne Internet-Verbindung&quot;)</p>
<p><sup>*</sup> Je öfter ich diese Bezeichnung höre, desto weniger gefällt sie mir. Imho wäre &quot;Aktion&quot; passender.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328196</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 19 Jul 2007 07:19:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 07:23:09 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Die &quot;Allokationen&quot;* 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ß).</p>
<p>(z.B. besteht die Aktionsgruppe &quot;Mail abfragen&quot; aus den Einzelaktionen &quot;verbinde mit Internet&quot;, &quot;öffne Outlook&quot;, &quot;hole alle anstehenden Mails vom Server&quot;, &quot;schließe Outlook&quot; und &quot;trenne Internet-Verbindung&quot;)</p>
</blockquote>
<p>schreibt er einen scheduler ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328197</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 19 Jul 2007 07:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 07:30:32 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>schreibt er einen scheduler ?</p>
</blockquote>
<p>Wenn ich Boris' letzten Beitrag richtig verstanden habe, sowas ähnliches:</p>
<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>Also:</p>
<p>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.<br />
das sind quasie 4 abläufe die nacheinander folgen, jeweils ne gewisse zeit andauern , und insgesammt die gesmantzeit der Reservierung (Allokation) des PCs<br />
darstellen. Wenn wir nun noch die Gruppieren betrachten, könnte beispielsweise e-mail abrufen durch (Outlock öffnen, e-mail lesen, outlock schliesen) gruppeiren.</p>
</blockquote>
<p>(aus <a href="http://c-plusplus.net/forum/viewtopic-var-t-is-187134-and-start-is-50.html" rel="nofollow">&quot;Dynamic oder Static Cast?&quot;</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328200</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 19 Jul 2007 07:30:32 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Umsetzung eines Templates... on Thu, 19 Jul 2007 07:32:10 GMT]]></title><description><![CDATA[<p>korrekt.. ich schreibe einen scheduler...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328201</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 19 Jul 2007 07:32:10 GMT</pubDate></item></channel></rss>