<?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[Überladung des Zuweisungsoperators]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Folgende Frage:</p>
<p>Wieso benötige ich bei der Überladung eines Zuweisungsoperators eine Referenz als Rückgabewert und bei normalen Überladungen wie z.B. der Addition nicht?</p>
<p>Beispiel Deklaration:</p>
<pre><code>Klasse &amp;operator=(const Klasse&amp; z);
Klasse operator+(const Klasse&amp; z) const;
</code></pre>
<p>Meine Erklärung:<br />
Des hängt doch damit zusammen, das die Zuweisungsoperator-Funktion wieder das links-stehende Objekt zurückliefert und dadurch der Kopierkonstruktor aufgerufen wird? Mit der Referenz wird dies verhindert??</p>
<p>Danke für eure Hilfe!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/258895/überladung-des-zuweisungsoperators</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 03:13:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/258895.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Jan 2010 15:31:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Überladung des Zuweisungsoperators on Sat, 16 Jan 2010 15:31:01 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Folgende Frage:</p>
<p>Wieso benötige ich bei der Überladung eines Zuweisungsoperators eine Referenz als Rückgabewert und bei normalen Überladungen wie z.B. der Addition nicht?</p>
<p>Beispiel Deklaration:</p>
<pre><code>Klasse &amp;operator=(const Klasse&amp; z);
Klasse operator+(const Klasse&amp; z) const;
</code></pre>
<p>Meine Erklärung:<br />
Des hängt doch damit zusammen, das die Zuweisungsoperator-Funktion wieder das links-stehende Objekt zurückliefert und dadurch der Kopierkonstruktor aufgerufen wird? Mit der Referenz wird dies verhindert??</p>
<p>Danke für eure Hilfe!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839806</guid><dc:creator><![CDATA[matzehilto]]></dc:creator><pubDate>Sat, 16 Jan 2010 15:31:01 GMT</pubDate></item><item><title><![CDATA[Reply to Überladung des Zuweisungsoperators on Sat, 16 Jan 2010 15:35:57 GMT]]></title><description><![CDATA[<p>Bei einer Addition ist gewünscht, dass eine Kopie angelegt wird. Das Ergebnis davon, zwei Operanden zu addieren, soll ein neues Objekt liefern. Folglich wird der Rückgabewert als Kopie zurückgegeben. Es wäre gar nicht anders möglich, da Referenzen auf lokale Objekte ungültig sind und bestimmt nicht einer der Operanden zurückgegeben werden soll.</p>
<p>Beim Zuweisungsoperator hingegen wird eine Referenz auf das zugewiesene Objekt zurückgegeben. Durch eine Zuweisung soll ja kein neues Objekt entstehen, sondern ein bestehendes neu beschrieben werden. Durch die Referenz werden Kettenzuweisungen möglich:</p>
<pre><code class="language-cpp">a = b = c;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1839810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839810</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 16 Jan 2010 15:35:57 GMT</pubDate></item><item><title><![CDATA[Reply to Überladung des Zuweisungsoperators on Sat, 16 Jan 2010 15:48:50 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Durch die Referenz werden Kettenzuweisungen möglich:</p>
<pre><code class="language-cpp">a = b = c;
</code></pre>
</blockquote>
<p>Das würde auch ohne Referenz funktionieren; denn = ist rechtsbindend:</p>
<pre><code class="language-cpp">a = b = c; // ist dasselbe wie a = (b = c);
</code></pre>
<p>Mit der Referenz als Rückgabetyp von op= bekommt man das Verhalten, welches bei skalaren Typen auch schon gegeben ist: Die Zuweisung liefert nunmal einen Lvalue-Ausdruck, etwas, das sich auf das zugewiesene Objekt bezieht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839818</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Sat, 16 Jan 2010 15:48:50 GMT</pubDate></item><item><title><![CDATA[Reply to Überladung des Zuweisungsoperators on Sat, 16 Jan 2010 16:25:32 GMT]]></title><description><![CDATA[<p>Ich danke euch ich glaub ich habs kapiert!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839845</guid><dc:creator><![CDATA[matzehilto]]></dc:creator><pubDate>Sat, 16 Jan 2010 16:25:32 GMT</pubDate></item></channel></rss>