<?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[Zuweisungsoperator überladen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse die etwa so aussieht :</p>
<pre><code class="language-cpp">class test
{
  test &amp;operator=(const test &amp;t);

  private :
     int werte[100];
}
</code></pre>
<p>dafür möchte ich nun den Zuweisungsoperator = überladen.</p>
<pre><code class="language-cpp">// Zuweisungsoperator
test &amp;test::operator=(const test &amp;t)
{
    int i=0;
    werte = new int [100] ;   -- hier liegt mein Problem 
    for (i=0;i&lt;CODEWORD_LENGTH;i++)
    {
        werte[i] = t.werte(i);
    }
    return *this; 
}
</code></pre>
<p>Ich müsste wohl in meiner Klasse</p>
<pre><code class="language-cpp">int *werte;
</code></pre>
<p>gibts da ne möglichkeit wie ich das gemacht hab mit<br />
int werte[100], und dann trotzden noch neuen speicherplatz zu belegen `</p>
<p>danke</p>
<p>chris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180941/zuweisungsoperator-überladen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 00:37:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180941.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 May 2007 13:23:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zuweisungsoperator überladen on Tue, 08 May 2007 13:23:58 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse die etwa so aussieht :</p>
<pre><code class="language-cpp">class test
{
  test &amp;operator=(const test &amp;t);

  private :
     int werte[100];
}
</code></pre>
<p>dafür möchte ich nun den Zuweisungsoperator = überladen.</p>
<pre><code class="language-cpp">// Zuweisungsoperator
test &amp;test::operator=(const test &amp;t)
{
    int i=0;
    werte = new int [100] ;   -- hier liegt mein Problem 
    for (i=0;i&lt;CODEWORD_LENGTH;i++)
    {
        werte[i] = t.werte(i);
    }
    return *this; 
}
</code></pre>
<p>Ich müsste wohl in meiner Klasse</p>
<pre><code class="language-cpp">int *werte;
</code></pre>
<p>gibts da ne möglichkeit wie ich das gemacht hab mit<br />
int werte[100], und dann trotzden noch neuen speicherplatz zu belegen `</p>
<p>danke</p>
<p>chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1280898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1280898</guid><dc:creator><![CDATA[chri5]]></dc:creator><pubDate>Tue, 08 May 2007 13:23:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zuweisungsoperator überladen on Tue, 08 May 2007 13:28:35 GMT]]></title><description><![CDATA[<p>wenn du sowieso nur elementweise kopieren willst, brauchst du im Falle eines Arrays in der Klasse keinen eigenen Operator implementieren (also lass es besser), es sei denn, der Elementtyp könnte bei der Zuweisung eine Exception werfen und dein Operator sol Exception-sicher sein. Bei ints hast du da aber kein Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1280904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1280904</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 08 May 2007 13:28:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zuweisungsoperator überladen on Tue, 08 May 2007 13:30:58 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wenn du in jeder Instanz genau 100 Integers brauchst, must du doch gar nicht dynamisch Speicher reservieren. Das Kopieren der einzelnen Werte machst du doch schon, mehr ist dann nicht nötig. Das sollte übrigens auch der Standard-Zuweisungsop machen den der Compiler erstellt wenn kein manueller Op da ist.<br />
Wenn du wirklich ein dynamisches Array brauchst dann nimm gleich std::vector, dann kann der Compiler auch wieder einen passenden Op zusammenstellen.</p>
<p>/Edit : zu spät</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1280907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1280907</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 08 May 2007 13:30:58 GMT</pubDate></item></channel></rss>