<?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[operator= überladen funktioniert nicht]]></title><description><![CDATA[<p>hi,</p>
<p>hab probleme den zuweisungsoperator richtig überladen zu bekommen:</p>
<p>die eigentlichen Kopierkonstruktoren hab ich bereits hinbekommen und funktionieren nach meinem bisherigen testen auch.</p>
<p>Den Aufruf den ich machen will, der schaut so aus:</p>
<pre><code class="language-cpp">FIFOQueue * a = new FIFOQueue();
FIFOQueue * b = a;
</code></pre>
<p>mein derzeitiger versuch dafür sieht so aus:</p>
<pre><code class="language-cpp">FIFOQueue * FIFOQueue::operator =(FIFOQueue * rhs)
{
	if (!rhs-&gt;isEmpty())
	{
		this-&gt;m_start = new Node(rhs-&gt;m_start-&gt;getVal());
		this-&gt;m_iCount++;

		copyNode(rhs-&gt;m_start-&gt;getNext(), this-&gt;m_start-&gt;getNext(), this-&gt;m_start);
	}

	return this;
}
</code></pre>
<p>ich finde leider nur beispiele im internet die sich auf das kopieren für referenzen beziehn und nicht auf pointer. hab das versucht soweit es geht umzusetzen, aber es endet immer in einem runtime-error sobald ich die variable &quot;b&quot; benutzen möchte und methoden aufrufe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217649/operator-überladen-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 11:02:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217649.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Jul 2008 14:58:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operator= überladen funktioniert nicht on Wed, 09 Jul 2008 14:58:04 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>hab probleme den zuweisungsoperator richtig überladen zu bekommen:</p>
<p>die eigentlichen Kopierkonstruktoren hab ich bereits hinbekommen und funktionieren nach meinem bisherigen testen auch.</p>
<p>Den Aufruf den ich machen will, der schaut so aus:</p>
<pre><code class="language-cpp">FIFOQueue * a = new FIFOQueue();
FIFOQueue * b = a;
</code></pre>
<p>mein derzeitiger versuch dafür sieht so aus:</p>
<pre><code class="language-cpp">FIFOQueue * FIFOQueue::operator =(FIFOQueue * rhs)
{
	if (!rhs-&gt;isEmpty())
	{
		this-&gt;m_start = new Node(rhs-&gt;m_start-&gt;getVal());
		this-&gt;m_iCount++;

		copyNode(rhs-&gt;m_start-&gt;getNext(), this-&gt;m_start-&gt;getNext(), this-&gt;m_start);
	}

	return this;
}
</code></pre>
<p>ich finde leider nur beispiele im internet die sich auf das kopieren für referenzen beziehn und nicht auf pointer. hab das versucht soweit es geht umzusetzen, aber es endet immer in einem runtime-error sobald ich die variable &quot;b&quot; benutzen möchte und methoden aufrufe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544366</guid><dc:creator><![CDATA[afsadfsad]]></dc:creator><pubDate>Wed, 09 Jul 2008 14:58:04 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen funktioniert nicht on Wed, 09 Jul 2008 14:59:49 GMT]]></title><description><![CDATA[<p>Warum willst du den Zuweisungsoperator für Pointer überladen? Das ist eine ganz schlechte Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544368</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 09 Jul 2008 14:59:49 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen funktioniert nicht on Wed, 09 Jul 2008 15:00:29 GMT]]></title><description><![CDATA[<p>Du kannst keinen Zuweisungsoperator für eingebaute Typen überladen. Zeiger sind eingebaute Typen, egal was für Zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544369</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 09 Jul 2008 15:00:29 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen funktioniert nicht on Wed, 09 Jul 2008 15:03:33 GMT]]></title><description><![CDATA[<p>das heist bei Pointer muss ich zum kopieren immer</p>
<p>A * b = new A(a);</p>
<p>verwenden und den Kopierkonstruktor explizit verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544372</guid><dc:creator><![CDATA[afsadfsad]]></dc:creator><pubDate>Wed, 09 Jul 2008 15:03:33 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen funktioniert nicht on Wed, 09 Jul 2008 15:08:02 GMT]]></title><description><![CDATA[<p>Das kannst Du machen (ist ja nichts anderes als ein Kopieren, nur auf dem Heap). Problematisch wird das ganze aber, wenn das Objekt a garnicht vom Typ A, sondern von einem davon abgeleiteten Typ ist. Wenn A jetzt noch nicht-abstrakt ist (was ansich schon kein guter Stil wäre), würdest Du Dir einen Ausschnitt des Objekts kopieren (slicing).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544375</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 09 Jul 2008 15:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to operator= überladen funktioniert nicht on Wed, 09 Jul 2008 15:39:51 GMT]]></title><description><![CDATA[<p>du kannst natürlich auch Makros verwenden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544398</guid><dc:creator><![CDATA[Lord_of_Makro]]></dc:creator><pubDate>Wed, 09 Jul 2008 15:39:51 GMT</pubDate></item></channel></rss>