<?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[Probleme mit Kopierkonstruktoren]]></title><description><![CDATA[<p>Ich habe da ein kleines Problem. So sieht mein Code aus:</p>
<pre><code class="language-cpp">class Klasse
{
public:

	//Standardkonstruktor
	Klasse ()
	{
	}

	//Kopierkonstruktor mit Referenz
	Klasse (Klasse &amp;objekt)
	{
		//Ruft Standardkonstruktor auf
		Klasse ();

		//Ruft Zuweisungsoperator auf
		operator = (objekt);
	}

	//Kopierkonstruktor mit Zeiger
	Klasse (Klasse *objekt)
	{
		//Ruft Kopierkonstruktor mit Referenz auf
		Klasse (*objekt);
		//!!!Hier tritt der Fehler auf!!!
	}

	//Zuweisungsoperator
	Klasse operator = (Klasse &amp;objekt)
	{
		return *this;
	}
};
</code></pre>
<p>Zur markierten Stelle sagt er mir folgendes:</p>
<blockquote>
<p>error C2082: Neudefinition des formalen Parameters &quot;objekt&quot;</p>
</blockquote>
<p>Weiß einer, warum das so ist? Der Aufruf sollte doch völlig korrekt sein: Ich rufe den Konstruktor auf, der eine Referenz entgegennimmt. Und als Referenz übergebe ich die Variable auf die der Zeiger zeigt. Also, wieso klappt das nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155133/probleme-mit-kopierkonstruktoren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 10:32:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155133.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Aug 2006 22:58:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Wed, 02 Aug 2006 22:58:47 GMT]]></title><description><![CDATA[<p>Ich habe da ein kleines Problem. So sieht mein Code aus:</p>
<pre><code class="language-cpp">class Klasse
{
public:

	//Standardkonstruktor
	Klasse ()
	{
	}

	//Kopierkonstruktor mit Referenz
	Klasse (Klasse &amp;objekt)
	{
		//Ruft Standardkonstruktor auf
		Klasse ();

		//Ruft Zuweisungsoperator auf
		operator = (objekt);
	}

	//Kopierkonstruktor mit Zeiger
	Klasse (Klasse *objekt)
	{
		//Ruft Kopierkonstruktor mit Referenz auf
		Klasse (*objekt);
		//!!!Hier tritt der Fehler auf!!!
	}

	//Zuweisungsoperator
	Klasse operator = (Klasse &amp;objekt)
	{
		return *this;
	}
};
</code></pre>
<p>Zur markierten Stelle sagt er mir folgendes:</p>
<blockquote>
<p>error C2082: Neudefinition des formalen Parameters &quot;objekt&quot;</p>
</blockquote>
<p>Weiß einer, warum das so ist? Der Aufruf sollte doch völlig korrekt sein: Ich rufe den Konstruktor auf, der eine Referenz entgegennimmt. Und als Referenz übergebe ich die Variable auf die der Zeiger zeigt. Also, wieso klappt das nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109587</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Wed, 02 Aug 2006 22:58:47 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 06:01:12 GMT]]></title><description><![CDATA[<p>NES-Spieler schrieb:</p>
<blockquote>
<pre><code class="language-cpp">//Kopierkonstruktor mit Zeiger
	Klasse (Klasse *objekt)
	{
		//Ruft Kopierkonstruktor mit Referenz auf
		Klasse (*objekt);
		//!!!Hier tritt der Fehler auf!!!
	}
</code></pre>
</blockquote>
<p>Hallo,<br />
du hast hier 2 Fehler. Der erste ist deine Annahme, dass ein Ausdruck der Form <strong>Klasse(Ausdruck)</strong> im Konstruktor einen alternativen Konstruktor (wie in Java mit this(foobar) <a href="http://o.ae" rel="nofollow">o.ae</a>.) aufruft. Das ist nicht der Fall. Es wird ein <strong>temporaeres</strong> Objekt konstruiert und sogleich wieder zerstoert.<br />
Der zweite ist weniger offensichtlich, aber in dem Fall das, worueber der Compiler stolpert. Wenn der Compiler sich bei einem Konstrukt nicht sicher ist, ob es sich um einen Ausdruck oder eine Deklaration handelt, entscheidet er sich stets fuer letzteres. Du hast da also weder den Aufruf des Kopierkonstruktors des eigenen Objekts, noch die Konstruktion eines temporaeren Objekts, sondern schlicht und einfach eine Deklaration fuer einen Zeiger (names objekt) auf Klasse.</p>
<p>Die Loesung muss sich aber in dem Fall auf den ersten Fehler beziehen. Wenn das so wirklich notwendig ist, was du vorhast, solltest du den Code aus den Konstruktoren in private Hilfsfunktionen auslagern und diese dann aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109615</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 03 Aug 2006 06:01:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 06:35:06 GMT]]></title><description><![CDATA[<p>Erstmal danke für die Antwort.<br />
Gibt es keine Möglichkeit, in einem Konstruktor einen anderen Konstruktor aufzurufen, ohne die Initialisierung in eine weitere Funktion auszulagern? Bei Ableitungen geht das ja auch:</p>
<pre><code class="language-cpp">Abgeleitet::Abgeleitet (int a, int b):
    Basis (a, b), wert (0)
{
}
</code></pre>
<p>Der Konstruktor Basis::Basis (int, int) wird aufgerufen und die Membervariable Abgeleitet::wert wird mit 0 initialisiert. Da muß die Basisklasse die Initialisierungen auch nicht erst in einer protected Funktion anbieten.<br />
Wieso gehen solche Sachen nicht innerhalb ein und derselben Klasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109621</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Thu, 03 Aug 2006 06:35:06 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 07:04:09 GMT]]></title><description><![CDATA[<p>Nein, das geht nicht - wurde vom Standard auch nicht vorgesehen. Die einzige Möglichkeit, mehrere Konstruktoren zusammenzufassen, ist afaik eine seperate init() Methode. (oder, wenn möglich, Default-Parameter)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109632</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 03 Aug 2006 07:04:09 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 07:21:31 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11624">@NES-Spieler</a></p>
<blockquote>
<p>Wieso gehen solche Sachen nicht innerhalb ein und derselben Klasse?</p>
</blockquote>
<p>Das beisst sich irgendwie mit der Philosophie der Konstruktoren.</p>
<p>Wenn du aber nu mitten aus einem konstruktor in nem anderen springst, wie soll der andere konstruktor wissen das dein 1. konstruktor schon mal mit der konstruktion angefangen hat ^^ siehst du die probleme die es geben koennte wenn es ohne weiteres möglich waer ? bei ner member kannst du von festen vorbedingungen ausgehen, nen konstruktor muss immer von null aus starten.</p>
<p>Und wenn du gleiche funktionalitaeten in unterschiedlichen konstructoren hasst, lagere die wirklich in private methoden aus, die stoeren doch keinen (inline sind die sogar kostenlos, performancetechnisch)... machen eigentlich nur uebersichtlicher ....</p>
<p>Noch was, konstruktoren sind nich nur praktisch, sondern auch gefaehrlich ^^ klingt komisch, isss es aber auch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /><br />
nen konstruktor ist gleichzeitig immer auch ne umwandlung (wenn er nich mit expliziet deklariert wurde) damit macht man den compiler bei zig kosntruktoren echt schwer, den richtigen zu finden ^^ und man bekommt teilweisse tolle effekte die maan nicht will ^^<br />
Also lieber 1 konstruktor weniger als einen zu viel !</p>
<p>Und da du dich mit Konstruktoren grad beschaeftigst, Goldene Regel:<br />
lagere so viel als möglich in die initialisierungslisten aus. Nutze notfalls sogar statische member zu ^^<br />
vielleicht bringt dich das dem Wesen eines konstruktors etwas naeher (konstruktoren sollten auch schnell sein, und logische fehlerbehandlung in konstruktoren sollt man vermeiden, die sollten nur &quot;knallen&quot; (exception) wenn es kritische probleme gibt.)</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109642</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Thu, 03 Aug 2006 07:21:31 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 07:34:05 GMT]]></title><description><![CDATA[<p>RHBaum schrieb:</p>
<blockquote>
<p>Goldene Regel:<br />
lagere so viel als möglich in die initialisierungslisten aus. Nutze notfalls sogar statische member zu ^^</p>
</blockquote>
<p>Jetzt will ich aber auch noch wissen warum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ich weis zwar das man Initialisierungslisten verwenden soll aber ich kann mir nicht erklären warum.<br />
Und was meinst du mit &quot;nutze notfalls statische Member&quot;. Meinst du damit als static deklarierte Membervariablen? Wie können die die Konstruktion beschleunigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109650</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Thu, 03 Aug 2006 07:34:05 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 07:35:53 GMT]]></title><description><![CDATA[<p>Ich danke Euch allen für Eure Antworten. War recht informativ.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109652</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Thu, 03 Aug 2006 07:35:53 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 07:43:25 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich weis zwar das man Initialisierungslisten verwenden soll aber ich kann mir nicht erklären warum.</p>
</blockquote>
<p>Mir hat man das mal so erklärt: Wenn man keine Initialisierungsliste hat, werden die Werte unter Umständen doppelt belegt:</p>
<pre><code class="language-cpp">Konstruktor ()
//Hier werden die Membervariablen mit einem nicht definierten Wert belegt.
{
    a=1;
    b=2;
    //Und hier werden sie nochmal belegt.
}
</code></pre>
<p>Dagegen:</p>
<pre><code class="language-cpp">Konstruktor ():
    a (1), b (2)
    /*Die Membervariablen erhalten sofort den richtigen Wert
      und werden bloß einmal belegt.*/
{
}
</code></pre>
<p>Ich stelle mir das wie den Unterschied zwischen</p>
<pre><code class="language-cpp">int i;
i=0;
</code></pre>
<p>und</p>
<pre><code class="language-cpp">int i=0;
</code></pre>
<p>vor: Bei der zweiten Variante hat man einfach einen Schritt weniger.<br />
Was er mit den statischen Membern meint, weiß ich allerdings auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109658</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Thu, 03 Aug 2006 07:43:25 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 11:08:29 GMT]]></title><description><![CDATA[<p>Genau, man spart sich einen Schritt.<br />
Außerdem kann man Referenzen und &quot;const&quot; member nur über die Initialisierungsliste initialisieren. Und &quot;const&quot; sollte natürlich immer angestrebt werden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Was der Umweg über statische Member soll, kann ich mir aber auch nicht erklären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109805</guid><dc:creator><![CDATA[pZy]]></dc:creator><pubDate>Thu, 03 Aug 2006 11:08:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 11:20:14 GMT]]></title><description><![CDATA[<p>Ich schätze was er meint ist, dass man Membervariablen, die man statisch machen kann auch statisch machen sollte. Diese werden dann natürlich außerhalb der Klasse definiert (initialisiert) und tauchen im Konstruktor gar nicht mehr auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109814</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 03 Aug 2006 11:20:14 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 11:28:10 GMT]]></title><description><![CDATA[<p>danke für die Antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109823</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Thu, 03 Aug 2006 11:28:10 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Thu, 03 Aug 2006 14:35:50 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich schätze was er meint ist, dass man Membervariablen, die man statisch machen kann auch statisch machen sollte. Diese werden dann natürlich außerhalb der Klasse definiert (initialisiert) und tauchen im Konstruktor gar nicht mehr auf.</p>
</blockquote>
<p>Nee nich ganz ....<br />
In der init liste kannst natuerlich nur einen Konstruktor deines members erreichen ....<br />
wenn die klasse deines Members aber nicht den passenden Konstruktor bietet, aber einen Copykonstruktor hasst ... kannst da was mit einer aus der Initialisierungsliste aufrufenden Funktion taetigen. Normale Methoden fallen nateurlich raus, also sind nur statische Methoden ne Wahl, wenn man die funktion mit zur klasse zu haben will (weil sie einfach zugehoert)</p>
<p>Beispiel:</p>
<p>du uebergibst nen String als Pfad, der Pfad wird logisch nie im Object geaendert (Kandidat fuer const). Du willst beim parameter bisserl toleranter sein, den aber bei der Uebernahme (Konstruktion) schon mal bisserl bearbeiten (Beispielsweisse backslashes durch slashes ersetzen o.ä. )</p>
<p>- Du hast die moeglichkeit ... das ausserhalb deiner klasse zu machen, waer aber doof wenn das logisch eher zu den besonderheiten deiner Klasse zaehlt.<br />
- Du hasst die moeglichkeit das im konstruktor nach der init liste zu machen, dein string wird dann aber ned const<br />
- statische methode.</p>
<pre><code class="language-cpp">class Test
{
public:
    Test(const char * Pfad):
    mPfad(editString(Pfad)) // editstring aufrufen damit das ding const bleibt
    {
    }
    ~Test(){}
private:    
    const std::string mPfad; 

    // und damit das editString funktioniert und es an die klasse gehoert ... 
    static std::string editString(const char * Pfad)
    {
        std::string strreturn(Pfad ? Pfad : std::string()); 
        // iergendwie noch bearbeiten ^^

        return strreturn;

    }
};
</code></pre>
<p>Sicher dooefes beispiel, da anderen zum thema sicher STL spezifisch performantere dinge einfallen ^^<br />
Zumindest meint ich sowas mit &quot;notfalls statische member&quot; ... um code aus dem konstruktor auslagern zu koennen.</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109986</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Thu, 03 Aug 2006 14:35:50 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Fri, 04 Aug 2006 10:39:34 GMT]]></title><description><![CDATA[<p>Mir ist da noch was aufgefallen: RHBaum schrieb:</p>
<blockquote>
<p>lagere so viel als möglich in die initialisierungslisten aus.</p>
</blockquote>
<p>Nun, was ist aber, wenn ich meine ganz am Anfang geschilderte Situation mit mehreren Konstruktoren habe. Sagen wir mal</p>
<pre><code class="language-cpp">class Klasse
{
public:

    Klasse ();
    Klasse (std::string name);

private:

    std::string name;
    int anzahlLeben;
    int punkte;
};

Klasse::Klasse ():
    name (&quot;Kein Name&quot;),
    anzahlLeben (3),
    punkte (0)
{
}
</code></pre>
<p>Beim zweiten Konstruktor hätte ich jetzt nur die Möglichkeit<br />
a) alle Werte nochmal zu initialisieren, was redundant wäre<br />
b) alles in eine Init-Funktion auszulagern und diese in beiden Konstruktoren aufzurufen, was bedeuten würde, daß die Initialisierungsliste komplett rausfällt.<br />
Was wäre hier also zu tun? Für so einen Fall würde ich eben das hier vorschlagen:</p>
<pre><code class="language-cpp">Klasse::Klasse (std::string name):
    Klasse () //Aufrufen des anderen Konstruktors
{
    this-&gt;name=name;
}
</code></pre>
<p>Aber das geht ja leider nur bei Ableitungen.</p>
<p>P.S.: Ja, ja, ich weiß: Default-Parameter wären auch noch möglich. Aber das hier ist ja nur ein Beispiel. Es könnte ja auch noch was ganz anderes übergeben werden, wofür es keine Default-Parameter gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1110462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1110462</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Fri, 04 Aug 2006 10:39:34 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Kopierkonstruktoren on Fri, 04 Aug 2006 12:56:10 GMT]]></title><description><![CDATA[<p>1. namensgebung !</p>
<p>gleiche namen fuer member der klasse und parameter macht die sache ned uebersichtlich ^^ Hab 2 mal ueberlegen muessen was er da tut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>2. default parameter sind genau dafuer da ^^</p>
<p>3. du kannst in der initliste funktionen aufrufen die mit deren rueckgabewert du den member initialisierst ... nutze dies ....</p>
<p>4. Du wehrst dich eklatant gegen, die member in den unterschiedlcihen konstruktoren expliziet mehrmals mit dem selben wert zu belegen. Da kommst nich drumherum, die werte anzugeben, der compiler kann ja nich wissen das die werte gleich sein sollen. Wenn du redundanz befuerchtest, lagere auch Default werte aus ...</p>
<pre><code class="language-cpp">class Klasse
{
public:

    Klasse ();
    Klasse (std::string name);

private:
    static int DefaultAnzahlLeben() { return 3; }
    static int StartPunkte() { return 0; }
    static std::string DefaultName() {return std::string(&quot;Kein Name&quot;); }

    std::string     mName;
    int             mAnzahlLeben;
    int             mPunkte;
};

Klasse::Klasse ():
    mName (DefaultName()),
    mAnzahlLeben (DefaultAnzahlLeben()),
    mPunkte (StartPunkte())
{
}

Klasse::Klasse (const std::string &amp; name):
mName (name),
mAnzahlLeben (DefaultAnzahlLeben()),
mPunkte (StartPunkte())    
{

}
</code></pre>
<p>C++ soll flexiebel und performant sein !<br />
C++ beansprucht aber nicht den Titel &quot;Programmiersprache mit dem wenigsten Tippaufwand&quot; fuer sich ... im Gegenteil lieber bisserl mehr tippern dafuer flexibel und performant bleiben als eigentlich fast logische codezeilen nich noch mal schreiben zu muessen ...</p>
<p>Und fuer viele solcher faelle gibts mittel und wege den tippaufwand zu minimieren ... man muss sie nur als solche akzeptieren ^^</p>
<p>Default parameter sind eine möglichkeit ....</p>
<p>Konstruktoren ineinander verschachteln geht nun mal nicht ! verwerf den gedanken. nen konstruktor laeuft durch und ruft keinen anderen konstruktor auf !</p>
<p>Alternativ kannst du aber Temporaere Objekte, wenn du schon mal geschriebene konstruktoren verwenden willst ... so laufen die konstruktoren auch immer durch. Nur sowas hab ich noch nie wirklich gebraucht ^^ !</p>
<pre><code class="language-cpp">Klasse::Klasse (const std::string &amp; name, const Klasse &amp; rxDefault = Klasse() ):
mName (name),
mAnzahlLeben (rxDefault.mAnzahlLeben),
mPunkte (rxDefault.mPunkte)    
{

}
</code></pre>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1110547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1110547</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Fri, 04 Aug 2006 12:56:10 GMT</pubDate></item></channel></rss>