<?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[Liste &amp;amp; operator =(const Liste &amp;amp;);]]></title><description><![CDATA[<p>Hello liebe C++ler,</p>
<p>ich habe mal eine Frage.</p>
<p>Un zwar verstehe ich in einer Klasse die folgende Zeile nicht:</p>
<pre><code class="language-cpp">Liste &amp; operator =(const Liste &amp;);
</code></pre>
<p>Hier die Klasse:</p>
<pre><code class="language-cpp">class Liste
{
   private: ListenStruktur *Kopf ,
                         *Schwanz;
           ListenStruktur *Position(int);
   public: Liste();
           Liste(Liste &amp;);
           ~Liste();
	   Liste &amp; operator =(const Liste &amp;);
           bool IstLeer() ;
           void EinfuegenAmAnfang(int);
           void EinfuegenAmEnde(int);
           bool EinfuegenNach(int, int);
           bool ElementExistiert(int);

   };
</code></pre>
<p>Und hier die Methode an sich:</p>
<pre><code class="language-cpp">Liste &amp; Liste::operator =(const Liste &amp;L)
{
 ListenStruktur *temp1;

 if(this!=&amp;L)
 {
  this-&gt;~Liste();

  for(temp1=L.Kopf-&gt;Nach;temp1-&gt;Nach;)
  {
   EinfuegenAmEnde(temp1-&gt;element);
   temp1=temp1-&gt;Nach;
  };
 };
 return *this;
};
</code></pre>
<p>wäre nett wenn mit diese einer im detail erklären kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/298015/liste-amp-operator-const-liste-amp</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 03:14:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/298015.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Jan 2012 18:20:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Liste &amp;amp; operator =(const Liste &amp;amp;); on Wed, 11 Jan 2012 18:20:21 GMT]]></title><description><![CDATA[<p>Hello liebe C++ler,</p>
<p>ich habe mal eine Frage.</p>
<p>Un zwar verstehe ich in einer Klasse die folgende Zeile nicht:</p>
<pre><code class="language-cpp">Liste &amp; operator =(const Liste &amp;);
</code></pre>
<p>Hier die Klasse:</p>
<pre><code class="language-cpp">class Liste
{
   private: ListenStruktur *Kopf ,
                         *Schwanz;
           ListenStruktur *Position(int);
   public: Liste();
           Liste(Liste &amp;);
           ~Liste();
	   Liste &amp; operator =(const Liste &amp;);
           bool IstLeer() ;
           void EinfuegenAmAnfang(int);
           void EinfuegenAmEnde(int);
           bool EinfuegenNach(int, int);
           bool ElementExistiert(int);

   };
</code></pre>
<p>Und hier die Methode an sich:</p>
<pre><code class="language-cpp">Liste &amp; Liste::operator =(const Liste &amp;L)
{
 ListenStruktur *temp1;

 if(this!=&amp;L)
 {
  this-&gt;~Liste();

  for(temp1=L.Kopf-&gt;Nach;temp1-&gt;Nach;)
  {
   EinfuegenAmEnde(temp1-&gt;element);
   temp1=temp1-&gt;Nach;
  };
 };
 return *this;
};
</code></pre>
<p>wäre nett wenn mit diese einer im detail erklären kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166925</guid><dc:creator><![CDATA[Eles]]></dc:creator><pubDate>Wed, 11 Jan 2012 18:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to Liste &amp;amp; operator =(const Liste &amp;amp;); on Wed, 11 Jan 2012 18:28:47 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Liste &amp; operator =(const Liste &amp;);
</code></pre>
<p>Das ist eine Funktion namens &quot;operator =&quot;. Die nimmt einen Parameter vom Typ &quot;const Liste &amp;&quot; (also eine Referenz auf eine nicht änderbare Liste) und gibt einen Wert vom Typ &quot;Liste &amp;&quot; zurück (also eine Referenz auf eine Liste). Der Parameter hat an dieser Stelle noch keinen Namen, da es nur die Funktiondeklaration ist. Außerdem ist aus dem Zusammenhang klar, dass diese Funktion ein Teil der Klasse &quot;Liste&quot; ist.</p>
<p>Der seltsame Name &quot;operator =&quot; ist etwas besonderes: <em>Operatorüberladung</em> (Googlen oder den <a href="http://www.c-plusplus.net/forum/232010" rel="nofollow">Artikel hier im Forum</a> lesen). Damit kann man später im Code anstatt <code>myListe.operator=(otherListe);</code> einfach <code>myListe = otherListe;</code> schreiben. Warum gibt so eine Funktion eine Referenz (normalerweise auf das aufrufende Objekt) zurück? Damit man Sachen wie <code>liste1 = liste2 =liste3;</code> schreiben kann, wie man es von den eingebauten Datentypen gewohnt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166934</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 11 Jan 2012 18:28:47 GMT</pubDate></item><item><title><![CDATA[Reply to Liste &amp;amp; operator =(const Liste &amp;amp;); on Wed, 11 Jan 2012 19:10:10 GMT]]></title><description><![CDATA[<p>Imho führt das<br />
this-&gt;~Liste();<br />
in der Funktion zu undefiniertem Verhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166955</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 11 Jan 2012 19:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to Liste &amp;amp; operator =(const Liste &amp;amp;); on Wed, 11 Jan 2012 19:16:06 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Imho führt das<br />
this-&gt;~Liste();<br />
in der Funktion zu undefiniertem Verhalten.</p>
</blockquote>
<p>wie meinst du das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166957</guid><dc:creator><![CDATA[Eles]]></dc:creator><pubDate>Wed, 11 Jan 2012 19:16:06 GMT</pubDate></item><item><title><![CDATA[Reply to Liste &amp;amp; operator =(const Liste &amp;amp;); on Wed, 11 Jan 2012 19:21:01 GMT]]></title><description><![CDATA[<p>Eles schrieb:</p>
<blockquote>
<p>manni66 schrieb:</p>
<blockquote>
<p>Imho führt das<br />
this-&gt;~Liste();<br />
in der Funktion zu undefiniertem Verhalten.</p>
</blockquote>
<p>wie meinst du das?</p>
</blockquote>
<p>Danach ist der Speicherbereich tot. TOT. Insbesondere ist da keine Liste mehr.</p>
<pre><code class="language-cpp">this-&gt;~Liste(); 
  new(this) Liste;
</code></pre>
<p>wäre das Mindeste, damit da wieder eine lebende Liste ist.</p>
<p>Aber da ich den Trick jahrelang nicht gesehen habe, nehme ich an, daß es auch ohne den Trick geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166960</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 11 Jan 2012 19:21:01 GMT</pubDate></item><item><title><![CDATA[Reply to Liste &amp;amp; operator =(const Liste &amp;amp;); on Wed, 11 Jan 2012 20:28:26 GMT]]></title><description><![CDATA[<p>So etwas wie eine Liste schreit gerade zu nach dem &quot;copy-and-swap&quot;-Trick à la</p>
<pre><code class="language-cpp">list&amp; operator=(list temp_copy) 
  {
    this-&gt;swap(temp_copy);
    return *this;
  }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2166976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166976</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 11 Jan 2012 20:28:26 GMT</pubDate></item></channel></rss>