<?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 zu Klassentemplates]]></title><description><![CDATA[<p>Ich wünsche einen schönen guten Morgen.</p>
<p>Ich benötige Hilfe zu Klassentemplates, da mich die Syntax etwas verwirrt und ich in den gängigen Hilfen zwar viele Beispiele, doch nicht meine Problemstellung finde.</p>
<p>Zu der Frage:</p>
<p>Ich habe eine Template-Klasse, die wie folgt aussieht:</p>
<pre><code class="language-cpp">template &lt;class VergleichbaresObjekt* obj&gt; class TemplateListe
{
   public:
      ~TemplateListe() { delete liste;};
      TemplateListe() { liste = new TList(); };
      void elementHinzufuegen(VergleichbaresObjekt* obj) { liste-&gt;Add(element); };
      void elementLoeschen(VergleichbaresObjekt* obj) { liste-&gt;Remove(element); };
      void elementLoeschen(int pos) { liste-&gt;Delete(pos); };
      VergleichbaresObjekt* elementHolen(int pos);

   private:
      TList* liste;
};

template &lt;class VergleichbaresObjekt* obj&gt; VergleichbaresObjekt* TemplateListe&lt;obj&gt;::elementHolen(int pos)
{
   for (int i=0; i&lt;liste-&gt;Count; i++)
   {
      if (((VergleichbaresObjekt*)(liste-&gt;operator[](i)))-&gt;getID() == pos)
      {
         return (VergleichbaresObjekt*) liste-&gt;operator[](i);
      }
   }
   return NULL;
}
</code></pre>
<p>Diese Klasse soll eine Liste darstellen, in die alle Objekte eingefügt werden können, die von VergleichbaresObjekt erben. Dies brauche ich, damit ich den Operator== mit VergleichbaresObjekt und int-Wert überschreiben kann.</p>
<p>Wenn ich dies so schreibe, erhalte ich jedoch einen Kompilier-Fehler bei folgendem Aufruf:</p>
<pre><code class="language-cpp">TemplateListe&lt;IrgendEinObjekt&gt;* liste; // Fehlermeldung: Ungültige Template- Argumentliste
</code></pre>
<p>Die Klasse IrgendEinObjekt ist so definiert:</p>
<pre><code class="language-cpp">#include &lt;System.hpp&gt;
#include &quot;VergleichbaresObjekt.h&quot;

class IrgendEinObjekt: public VergleichbaresObjekt
{
   private:
      AnsiString name;

   public:
      AnsiString getName() { return name; };
};
</code></pre>
<p>und zu guter letzt noch die Klasse VergleichbaresObjekt zur Vollständigkeit:</p>
<pre><code class="language-cpp">class VergleichbaresObjekt
{
   private:
      int id;

   protected:

   public:
      bool operator == (int wert);
      int getID() { return id; };
};
</code></pre>
<p>Ich bitte um Hilfe. Ich versuche damit in die Thematik der KlassenTemplates einen Einblick zu erhalten, verstehe jedoch nicht, warum dies nicht geht. Wenn mir dies einer von euch beantworten könnte wäre ich sehr dankbar.</p>
<p>Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183823/frage-zu-klassentemplates</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 13:17:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183823.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 09 Jun 2007 08:23:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 08:23:45 GMT]]></title><description><![CDATA[<p>Ich wünsche einen schönen guten Morgen.</p>
<p>Ich benötige Hilfe zu Klassentemplates, da mich die Syntax etwas verwirrt und ich in den gängigen Hilfen zwar viele Beispiele, doch nicht meine Problemstellung finde.</p>
<p>Zu der Frage:</p>
<p>Ich habe eine Template-Klasse, die wie folgt aussieht:</p>
<pre><code class="language-cpp">template &lt;class VergleichbaresObjekt* obj&gt; class TemplateListe
{
   public:
      ~TemplateListe() { delete liste;};
      TemplateListe() { liste = new TList(); };
      void elementHinzufuegen(VergleichbaresObjekt* obj) { liste-&gt;Add(element); };
      void elementLoeschen(VergleichbaresObjekt* obj) { liste-&gt;Remove(element); };
      void elementLoeschen(int pos) { liste-&gt;Delete(pos); };
      VergleichbaresObjekt* elementHolen(int pos);

   private:
      TList* liste;
};

template &lt;class VergleichbaresObjekt* obj&gt; VergleichbaresObjekt* TemplateListe&lt;obj&gt;::elementHolen(int pos)
{
   for (int i=0; i&lt;liste-&gt;Count; i++)
   {
      if (((VergleichbaresObjekt*)(liste-&gt;operator[](i)))-&gt;getID() == pos)
      {
         return (VergleichbaresObjekt*) liste-&gt;operator[](i);
      }
   }
   return NULL;
}
</code></pre>
<p>Diese Klasse soll eine Liste darstellen, in die alle Objekte eingefügt werden können, die von VergleichbaresObjekt erben. Dies brauche ich, damit ich den Operator== mit VergleichbaresObjekt und int-Wert überschreiben kann.</p>
<p>Wenn ich dies so schreibe, erhalte ich jedoch einen Kompilier-Fehler bei folgendem Aufruf:</p>
<pre><code class="language-cpp">TemplateListe&lt;IrgendEinObjekt&gt;* liste; // Fehlermeldung: Ungültige Template- Argumentliste
</code></pre>
<p>Die Klasse IrgendEinObjekt ist so definiert:</p>
<pre><code class="language-cpp">#include &lt;System.hpp&gt;
#include &quot;VergleichbaresObjekt.h&quot;

class IrgendEinObjekt: public VergleichbaresObjekt
{
   private:
      AnsiString name;

   public:
      AnsiString getName() { return name; };
};
</code></pre>
<p>und zu guter letzt noch die Klasse VergleichbaresObjekt zur Vollständigkeit:</p>
<pre><code class="language-cpp">class VergleichbaresObjekt
{
   private:
      int id;

   protected:

   public:
      bool operator == (int wert);
      int getID() { return id; };
};
</code></pre>
<p>Ich bitte um Hilfe. Ich versuche damit in die Thematik der KlassenTemplates einen Einblick zu erhalten, verstehe jedoch nicht, warum dies nicht geht. Wenn mir dies einer von euch beantworten könnte wäre ich sehr dankbar.</p>
<p>Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301816</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sat, 09 Jun 2007 08:23:45 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 09:27:29 GMT]]></title><description><![CDATA[<p>Hallo nochmals,</p>
<p>da bisher noch keine Antwort kam...</p>
<p>Habe ich mich so dämlich ausgedrückt?<br />
- Wenn ja, bitte ich dies zu entschuldigen.</p>
<p>Vielleicht kann mir ja doch noch jemand helfen.<br />
Das wäre super.</p>
<p>Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301855</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sat, 09 Jun 2007 09:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 09:31:50 GMT]]></title><description><![CDATA[<p>Vertausch mal * und &gt;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301858</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Sat, 09 Jun 2007 09:31:50 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 09:42:59 GMT]]></title><description><![CDATA[<p>Wenn du im Aufruf meinst, habe ich das hiermit getan, allerdings änderte sich an der Fehlermeldung nichts.</p>
<p>Sprich:</p>
<p>Vorher:</p>
<pre><code class="language-cpp">TemplateListe&lt;IrgendEinObjekt&gt;* liste;
</code></pre>
<p>Nachher:</p>
<pre><code class="language-cpp">TemplateListe&lt;IrgendEinObjekt*&gt; liste;
</code></pre>
<p>Oder habe ich deinen Tipp missinterpretiert?</p>
<p>Danke trotzdem.</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301869</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sat, 09 Jun 2007 09:42:59 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 10:23:46 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Sieh dir nochmal die Grundlagen der der templateprogrammierung an</p>
<pre><code class="language-cpp">template &lt;class VergleichbaresObjekt&gt; class TemplateListe
...
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301894</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 09 Jun 2007 10:23:46 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 12:59:31 GMT]]></title><description><![CDATA[<p>...ich bekomme die Grundlagen schon hin, dazu gibt es ja genug Hilfen.</p>
<p>Vielleicht habe ich die Frage doch schlecht formuliert. Ich versuche es also - wenn gestattet - noch einmal.</p>
<p>Ein generelles Klassentemplate habe ich so geschrieben:</p>
<pre><code class="language-cpp">template &lt;class T&gt; class Liste
{
   public:
      ~Liste() { delete liste;};
      Liste() { liste = new TList(); };
      void elementHinzufuegen(T* element) { liste-&gt;Add(element); };
      void elementLoeschen(T* element) { liste-&gt;Remove(element); };
      void elementLoeschen(int pos) { liste-&gt;Delete(pos); };
      int  anzahlElementeHolen() { return liste-&gt;Count; };
      T* elementHolen(int pos);

   private:
      TList* liste;
};

template &lt;class T&gt; T* Liste&lt;T&gt;::elementHolen(int pos)
{
   //mache irgendwas;
}
</code></pre>
<p>Soweit sogut.</p>
<p>Mein Problem ist, dass ich für Class T irgendeine Klasse setzen kann. Ich würde diese Vielfalt jedoch gerne auf eine bestimmte Gruppe eingrenzen. Es soll eine Klasse sein, die von einem bestimmten Objekt (in meinem Fall VergleichbaresObjekt) erbt.</p>
<p>Dazu finde ich keine &quot;Grundlagen&quot;, da dort immer wieder von &quot;Spezialisierungen&quot; die Rede ist, ich dies aber entweder nicht nachvollziehen und/oder ausführen kann, oder aber es nicht meinem Problem entspricht.</p>
<p>Vielleicht fehlen mir tatsächlich Grundlagen, ich denke jedoch, dass ich mit einer schnellen, einfachen und unkomplizierten Hilfe an dieser Stelle besser bedient bin.</p>
<p>Ich bitte also nochmals um eine konstruktive Hilfe an dieser Stelle.</p>
<p>Oliver.</p>
<p>P.S.: Wenn ich nämlich Akaris &quot;Beispiel&quot; richtig deute, würde ich so irgendeine Klasse erlauben, die den Namen &quot;VergleichbaresObjekt&quot; erhält. Das will ich aber nicht. Deshalb nochmals dieser Post. Sollte ich mich so verquer ausgedrückt haben, entschuldige ich mich dafür.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301973</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sat, 09 Jun 2007 12:59:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 16:54:40 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>...ich bekomme die Grundlagen schon hin, dazu gibt es ja genug Hilfen.</p>
</blockquote>
<p>Offenbar nicht. Der Fehler auf den ich hingewiesen habe und den du klammheimlich korrigiert hast deutet auf Lücken in den Grundlagen hin.</p>
<blockquote>
<p>Mein Problem ist, dass ich für Class T irgendeine Klasse setzen kann. Ich würde diese Vielfalt jedoch gerne auf eine bestimmte Gruppe eingrenzen. Es soll eine Klasse sein, die von einem bestimmten Objekt (in meinem Fall VergleichbaresObjekt) erbt.</p>
</blockquote>
<p>Das geht im aktuellen C++ Standard nicht. Du must also darauf vertrauen das der Anwender weiß wann das Template einzusetzen ist und wann nicht.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302112</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 09 Jun 2007 16:54:40 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 16:54:49 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-14774.html" rel="nofollow">akari</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-2.html" rel="nofollow">VCL/CLX (Borland C++ Builder)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302113</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sat, 09 Jun 2007 16:54:49 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sat, 09 Jun 2007 23:30:43 GMT]]></title><description><![CDATA[<p>Okay,</p>
<p>bisher dachte ich nicht, dass man sich rechtfertigen muss, wenn man hier eine Frage stellt, doch man lernt nie aus!</p>
<p>&quot;Klammheimlich korrigiert&quot; habe ich eigentlich nichts. Ich wollte - wie auch gesagt - nur zeigen, dass ich mit einem standardmäßigen Template, wie es die von mir ebenfalls angesprochenen Hilfen zeigen, angefangen habe, dieses jedoch dann spezialisieren wollte.</p>
<p>Dass das nicht geht, ist die Information, die mir fehlte. Nenne es Lücken oder Unkenntnis, ich finde nur schade, dass man wegen so etwas direkt - nennen wir es geschönt - belehrt wird.</p>
<p>Wenn ich der ultimative Programmierkönig wäre, würde ich hier nichts lernen wollen. Nur aus Tutorials und Büchern kann nicht jeder Mensch lernen. Dass solltest du wissen. Wenn das bei dir und manchen anderen der Fall ist, herzlichen Glückwunsch. Es ist nicht die Regel. Ich habe nie vor wie andere ein fertiges Programm zu erhalten. Ich wollte lediglich einen guten Tipp. Als guten Tipp bezeichne ich nicht &quot;fange nochmal bei den Grundlagen an...&quot;. Ich in meinem beschränkten Verstand halte nämlich die Template-Programmierung nicht für Anfängerkram.</p>
<p>So, komme ich nun zu meinem Schlussplädoyer:</p>
<p>Ich finde es kontraproduktiv solche Sätze zu hören. Wenn es also so aussieht, habe ich für mich gelernt, dass hier wohl der falsche Ort ist, um meine Fragen zu stellen. Wenn ich mich Spott aussetzen will, setze ich mir eine rote Nase auf und laufe gackernd über einen Marktplatz.<br />
Für alle die, die sich jetzt vielleicht im Irrglauben befinden, ich versuche zu drohen, dieser Community meine Anfängerfragen zu entziehen - falsch! Nochmals lesen. Ich bitte lediglich darum, dass auf ernst gemeinte Fragen für lernwillige Leute ein wenig besser eingegangen wird als in einer solch beleidigenden Weise wie &quot;klammheimlich korrigiert um ...&quot;.</p>
<p>...Und jetzt bin ich auf eine Antwort gespannt.</p>
<p>In froher Erwartung, Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302259</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sat, 09 Jun 2007 23:30:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sun, 10 Jun 2007 03:32:48 GMT]]></title><description><![CDATA[<p>Wenn du deine Fragen immer so stellst wie du diese gestellt hast, dann ist dies hier das falsche Forum. Allerdings bin ich nicht sicher ob du ein &quot;richtiges&quot; finden wirst, da es kaum irgendwo Leute gibt die hellsichtig sind oder gerne raten.</p>
<p>Ok, zum Thema.<br />
Es gibt 2 Möglichkeiten wie du dein &quot;Problem&quot; lösen kannst:</p>
<ol>
<li>
<p>Verwende kein Template, sondern einfach nur eine Klasse die mit &quot;VergleichbaresElement*&quot; arbeitet. Natürlich musst du &quot;ausserhalb&quot; dann immer casten.</p>
</li>
<li>
<p>Schreib dein Template ganz normal generisch, und konvertiere den Zeiger implizit (also ohne cast) in einen &quot;VergleichbaresElement*&quot;:</p>
</li>
</ol>
<pre><code class="language-cpp">class Comparable
{
// ...
};

template &lt;class T&gt; class Foo
{
public:
    void Insert(T* p)
    {
        Comparable* c = p; // &lt;-- impliziter Typkonvertierung hier, 
        m_list-&gt;push_back(c);
    }

    T* GetFirst() const
    {
        Comparable* c = m_list-&gt;front();
        return static_cast&lt;T*&gt;(c); // &lt;-- hier musst du explizit casten, was aber sicher ist
                                   // solange du sicherstellst dass immer nur T* eingefügt werden können
    }

    // ...
};
</code></pre>
<p>Angenommen du hast Version 1) schon, dann ist Version 2 trivial:</p>
<pre><code class="language-cpp">class Comparable
{
// ...
};

class FooComparable
{
public:
    void Insert(Comparable* p);
    Comparable* GetFirst() const;
    // ...
};

template &lt;class T&gt; class Foo
{
public:
    void Insert(T* p)
    {
        m_fooComparable.Insert(p); // &lt;-- hier wieder implizit
    }

    T* GetFirst() const
    {
        return static_cast&lt;T*&gt;(m_fooComparable.GetFirst()); // &lt;-- hier wieder explizit
    }

    // ...

private:
    FooComparable m_fooComparable;
};
</code></pre>
<p>Dadurch stellst du zwar nicht sicher dass die Klasse Foo&lt;Bar&gt; nicht instanziert werden kann wenn Bar* nicht implizit in Comparable* konvertierbar ist, aber sie kann nicht effektiv verwendet werden, da z.B. Foo::Insert nicht instanzierbar ist. Anders gesagt: &quot;Foo&lt;Bar&gt;* p = new Foo&lt;Bar&gt;()&quot; würde noch compilieren, ein darauffolgendes &quot;p-&gt;Insert(new Bar())&quot; allerdings nichtmehr.</p>
<p>p.S.: Möglichkeit 3: du kannst BOOST_STATIC_ASSERT und boost::is_base_and_derived verwenden:</p>
<pre><code class="language-cpp">class Comparable
{
// ...
};

template &lt;class T&gt; class Foo
{
    BOOST_STATIC_ASSERT((boost::is_base_and_derived&lt;Comparable,T&gt;::value));
    // ...
};
</code></pre>
<p>Damit stellst du allerdings nicht sicher dass bei einem Aufruf über einen &quot;T*&quot; auch wirklich die Funktion aus &quot;Comparable&quot; aufgerufen wird:</p>
<pre><code class="language-cpp">class Foo
{
public:
    virtual void f(int i) = 0;
};

class Bar : public Foo
{
public:
    void f(int i)
    {
        printf(&quot;1&quot;);
    }
};

class Baz : public Bar
{
public:
    void f(int i, int j = 1)
    {
        printf(&quot;2&quot;);
    }
};

int main()
{
	Baz b;
	b.f(1); // gibt &quot;2&quot; aus
	static_cast&lt;Foo*&gt;(&amp;b)-&gt;f(1); // gibt &quot;1&quot; aus
}
</code></pre>
<p>Du solltest also wenn du sicher die Funktionen aus &quot;Comparable&quot; verwenden willst trotz dem &quot;static assert&quot; auf &quot;Comparable*&quot; casten, und dann über den &quot;Comparable*&quot; die gewünschte Funktion aufrufen.</p>
<p>p.p.S.: man kann auch eine Spezialisierung für den Fall &quot;ist von Blubb abgelietet&quot; machen, allerdings nur über einen Trick der SFINAE ausnutzt. Dazu müsstest du z.B. boost::is_base_and_derived mit boost::enable_if kombinieren. Wenns dich interessiert, lies das:</p>
<p><a href="http://www.boost.org/libs/utility/enable_if.html" rel="nofollow">http://www.boost.org/libs/utility/enable_if.html</a></p>
<p>p.p.p.S.: Kommentare ala &quot;wenn ich mich zum Gespött machen möchte...&quot; kommen erfahrungsgemäss häufig von Leuten die sich schlecht ausdrücken. Das führt nämlich dazu dass sie falsch verstanden werden, und das wiederum dazu dass blöde Meldungen kommen. Sogesehen kannst du also die Häufigkeit von blöden Meldungen dadruch selbst regulieren indem du dich mehr oder weniger gut &amp; genau ausdrückst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302283</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 10 Jun 2007 03:32:48 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Klassentemplates on Sun, 10 Jun 2007 07:30:27 GMT]]></title><description><![CDATA[<p>ich danke dir für diese ausführliche und hilfreiche Antwort.<br />
Ein paar Dinge sind mir zwar noch nicht klar, doch ich denke, ich komme damit weiter.</p>
<p>Dass meine Frage schief formuliert war, habe ich ja selber gemerkt. Passt schon.</p>
<p>Das &quot;Gespött&quot; jedoch bezog sich auf die Art und Weise der Reaktion, die ziemlich - in meinen Augen - unpassend war.</p>
<p>Für mich ist die Sache hiermit gegessen. Danke nochmals.</p>
<p>Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302304</guid><dc:creator><![CDATA[Oliver Kohl]]></dc:creator><pubDate>Sun, 10 Jun 2007 07:30:27 GMT</pubDate></item></channel></rss>