<?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[return pointer auf Objekt -&amp;gt; operator überladen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte den = Operator überladen, dabei gibt es aber das grundsätzliche Problem, dass ich ein Objekt zurückgeben muss.</p>
<pre><code class="language-cpp">CMyObject* CMyObject::operator= (CMyObject* rs)
{

}
</code></pre>
<p>Ich könnte ein neues (temporäres Objekt anlegen, aber wann soll ich das wieder löschen??</p>
<pre><code class="language-cpp">CMyObject* CMyObject::operator= (CMyObject* rs)
{
  CMyObject* ls = new CMyObject*
  ls-&gt;member1 = rs-&gt;member1;
  return ls;
}
</code></pre>
<p>Ich könnte mit Referenzen arbeiten, aber irgendwann ist mein Object ungültig, wenn ich die Funktion verlasse?!?</p>
<pre><code class="language-cpp">CMyObject&amp; CMyObject::operator= (CMyObject* rs)
{
  CMyObject ls;
  ls.member1 = rs-&gt;member1;
  return &amp;ls; //oder return *ls ?? Muss ich immer ausprobieren, kann ich 
                mir nie merken
}
</code></pre>
<p>Wie macht man das am Besten?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118581/return-pointer-auf-objekt-gt-operator-überladen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 12:19:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118581.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Aug 2005 08:47:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to return pointer auf Objekt -&amp;gt; operator überladen on Mon, 22 Aug 2005 08:47:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte den = Operator überladen, dabei gibt es aber das grundsätzliche Problem, dass ich ein Objekt zurückgeben muss.</p>
<pre><code class="language-cpp">CMyObject* CMyObject::operator= (CMyObject* rs)
{

}
</code></pre>
<p>Ich könnte ein neues (temporäres Objekt anlegen, aber wann soll ich das wieder löschen??</p>
<pre><code class="language-cpp">CMyObject* CMyObject::operator= (CMyObject* rs)
{
  CMyObject* ls = new CMyObject*
  ls-&gt;member1 = rs-&gt;member1;
  return ls;
}
</code></pre>
<p>Ich könnte mit Referenzen arbeiten, aber irgendwann ist mein Object ungültig, wenn ich die Funktion verlasse?!?</p>
<pre><code class="language-cpp">CMyObject&amp; CMyObject::operator= (CMyObject* rs)
{
  CMyObject ls;
  ls.member1 = rs-&gt;member1;
  return &amp;ls; //oder return *ls ?? Muss ich immer ausprobieren, kann ich 
                mir nie merken
}
</code></pre>
<p>Wie macht man das am Besten?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/855877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/855877</guid><dc:creator><![CDATA[electron_1]]></dc:creator><pubDate>Mon, 22 Aug 2005 08:47:21 GMT</pubDate></item><item><title><![CDATA[Reply to return pointer auf Objekt -&amp;gt; operator überladen on Mon, 22 Aug 2005 09:01:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">CMyObject&amp; CMyObject::operator= (const CMyObject&amp; rs)
{
  // kopiere die Daten von rs, falls this Speicher belegt hat, den wieder freigeben
  return *this;
}
</code></pre>
<p>Du musst kein weiteres Objekt erzeugen, sondern Du kopierst die Daten aus dem Objekt rs in Dein aktuelles Objekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/855886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/855886</guid><dc:creator><![CDATA[niemand]]></dc:creator><pubDate>Mon, 22 Aug 2005 09:01:04 GMT</pubDate></item></channel></rss>