<?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 Rückgabewerten Memberfunktion]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>ich habe folgende Operatorenüberladung (als Memberfunktion) gegeben:</p>
<pre><code class="language-cpp">Zahlen&amp; operator += (Zahlen op2) {
                   this-&gt;z1 += op2.z1;
                   this-&gt;z2 += op2.z2;
                   return *this;
                   }
</code></pre>
<p>Nun rufe ich in der main folgendes auf:</p>
<p>A += B (A und B sind Objekte der Klasse Zahlen)</p>
<p>Welchen Zweck dient denn hier eigentlich der Return Wert? In der Main rufe ich ja einfach den Operator auf, aber ich benötige ja keinen return Wert?</p>
<p>Noch eine Frage:<br />
Was wird denn hier genau zurückgeliefert? Laut MEthodenkopf wird ja Zahlen&amp; zurückgeliefert. (Sollte ja eine Referenz sein)<br />
Liefert return *this nicht einfach einen dereferenzierten Zeiger, also einen int Wert zurück??</p>
<p>Danke!</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/290175/frage-zu-rückgabewerten-memberfunktion</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 17:47:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/290175.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Jul 2011 19:40:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Rückgabewerten Memberfunktion on Wed, 20 Jul 2011 19:40:03 GMT]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>ich habe folgende Operatorenüberladung (als Memberfunktion) gegeben:</p>
<pre><code class="language-cpp">Zahlen&amp; operator += (Zahlen op2) {
                   this-&gt;z1 += op2.z1;
                   this-&gt;z2 += op2.z2;
                   return *this;
                   }
</code></pre>
<p>Nun rufe ich in der main folgendes auf:</p>
<p>A += B (A und B sind Objekte der Klasse Zahlen)</p>
<p>Welchen Zweck dient denn hier eigentlich der Return Wert? In der Main rufe ich ja einfach den Operator auf, aber ich benötige ja keinen return Wert?</p>
<p>Noch eine Frage:<br />
Was wird denn hier genau zurückgeliefert? Laut MEthodenkopf wird ja Zahlen&amp; zurückgeliefert. (Sollte ja eine Referenz sein)<br />
Liefert return *this nicht einfach einen dereferenzierten Zeiger, also einen int Wert zurück??</p>
<p>Danke!</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2095650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095650</guid><dc:creator><![CDATA[Mario22]]></dc:creator><pubDate>Wed, 20 Jul 2011 19:40:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Rückgabewerten Memberfunktion on Wed, 20 Jul 2011 19:43:09 GMT]]></title><description><![CDATA[<p>Du gibst hier eine Referenz auf das Objekt selbst zurück. Wenn du einen Zeiger dereferenzierst, erhältst du immer eine Referenz. Und die referenz wird zurückgegeben, damit folgendes möglich ist:</p>
<pre><code class="language-cpp">a += b += c += d ... ;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095657</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 20 Jul 2011 19:43:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Rückgabewerten Memberfunktion on Wed, 20 Jul 2011 19:45:09 GMT]]></title><description><![CDATA[<p>Zu 1: Es gibt schon aus C die Möglichkeit, Zuweisungen miteinander zu verketten (ala &quot;a=b=c=4711;&quot;). Solche Möglichkeiten eröffnen sich auch in C++, wenn du in den Operatoren einen Rückgabewert angibst.</p>
<p>Zu 2: Ja, das ist eine Referenz. Aber *this ist mehr als ein einfacher Wert, sondern ein komplettes Objekt, das irgendwo im Speicher liegt. Und dort gibst du dem Anwender eine Referenz auf genau dieses Objekt, mit der er weiterarbeiten kann, wen er will.</p>
<p>PS: Übrigens würde ich den Parameter auch als Referenz übergeben <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2095659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095659</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 20 Jul 2011 19:45:09 GMT</pubDate></item></channel></rss>