<?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[Probleme mit dem Desktruktor eine Klasse]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich programmiere noch nicht lange C++ und habe ein Problem mit dem Desktruktor einer Klasse. Wenn ich einen überladenen Operator aufrufe, bekomme ich nicht den erwünschten Wert zurück, sondern meinen Eingabe wert. Und der Eigentlich aufgerufene Wert wird nach vor dem return entfernt.</p>
<p>Das Code fragment um das es geht.</p>
<pre><code>Vektor2D::~Vektor2D(){

};

Vektor2D&amp; Vektor2D::operator*(float lamda){

    for (int i=0; i &lt; mZeilen; i++) {
        mElement[i] *= lamda;
    } 
    return *this;
};

Vektor2D&amp; Vektor2D::operator+(Vektor2D v){

    for (int i=0; i &lt; mZeilen; i++) {
		mElement[i] += v.mElement[i];
    };
    return *this;
};

Vektor2D&amp; Vektor2D::operator-(Vektor2D v){

    for (int i=0; i &lt; mZeilen; i++) {
        mElement[i] -= v.mElement[i];
    };
    return *this;
};
</code></pre>
<p>Gibt es eine möglichkeit den Desktruktor zu umgehen? Oder kann man das so schreibe, das es trotzdem funktioniert.</p>
<p>Gruß,</p>
<p>Beasttear</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/304417/probleme-mit-dem-desktruktor-eine-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 19:47:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304417.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Jun 2012 19:31:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit dem Desktruktor eine Klasse on Tue, 05 Jun 2012 19:31:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich programmiere noch nicht lange C++ und habe ein Problem mit dem Desktruktor einer Klasse. Wenn ich einen überladenen Operator aufrufe, bekomme ich nicht den erwünschten Wert zurück, sondern meinen Eingabe wert. Und der Eigentlich aufgerufene Wert wird nach vor dem return entfernt.</p>
<p>Das Code fragment um das es geht.</p>
<pre><code>Vektor2D::~Vektor2D(){

};

Vektor2D&amp; Vektor2D::operator*(float lamda){

    for (int i=0; i &lt; mZeilen; i++) {
        mElement[i] *= lamda;
    } 
    return *this;
};

Vektor2D&amp; Vektor2D::operator+(Vektor2D v){

    for (int i=0; i &lt; mZeilen; i++) {
		mElement[i] += v.mElement[i];
    };
    return *this;
};

Vektor2D&amp; Vektor2D::operator-(Vektor2D v){

    for (int i=0; i &lt; mZeilen; i++) {
        mElement[i] -= v.mElement[i];
    };
    return *this;
};
</code></pre>
<p>Gibt es eine möglichkeit den Desktruktor zu umgehen? Oder kann man das so schreibe, das es trotzdem funktioniert.</p>
<p>Gruß,</p>
<p>Beasttear</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219975</guid><dc:creator><![CDATA[Beasttear]]></dc:creator><pubDate>Tue, 05 Jun 2012 19:31:30 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Desktruktor eine Klasse on Tue, 05 Jun 2012 19:44:35 GMT]]></title><description><![CDATA[<p>Das hat nichts mit dem Destruktor zu tun. Wie rufst du das auf? Normal würde man bei so einem Operator erwarten, dass ein neues Objekt erstellt wird, und nicht dass das eigentliche Objekt verändert wird.<br />
DAs ist jetzt auch nicht C++/CLI, sonst stellen die Leute immer ihre C++/CLI Fragen ins C++ Forum ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219979</guid><dc:creator><![CDATA[Mechanics]]></dc:creator><pubDate>Tue, 05 Jun 2012 19:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Desktruktor eine Klasse on Tue, 05 Jun 2012 19:58:06 GMT]]></title><description><![CDATA[<p>stimmt, du hast recht, hab das falsche Froum gewählt. Entschuldigt bitte.</p>
<p>Okay, dann stellt sich mir aber eine andere Frage, wie kann ich das dann immutable machen? Weil ich möchte eine Zeiger auf das neue Objekt dann zurückgeben und nicht eine Kopie.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1">@Admin</a>/Moderator: Bitte verschieben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219985</guid><dc:creator><![CDATA[Beasttear]]></dc:creator><pubDate>Tue, 05 Jun 2012 19:58:06 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Desktruktor eine Klasse on Tue, 05 Jun 2012 20:17:26 GMT]]></title><description><![CDATA[<p>Doch, bei sowas gibt man tatsächlich Kopien zurück. Es gibt hier auch solche Ansätze wie Expression Templates oder du kannst natürlich auch intern einen copy on write Mechanismus implementieren und die Daten nur einmal vorhalten, solange du sie nur einmal brauchst. Ist hier aber nicht der Fall, da du tatsächlich zwei unterschiedliche Vektoren hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219994</guid><dc:creator><![CDATA[Mechanics]]></dc:creator><pubDate>Tue, 05 Jun 2012 20:17:26 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit dem Desktruktor eine Klasse on Wed, 06 Jun 2012 05:21:35 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/u18363" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/f58" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/f15" rel="nofollow">C++ (auch C++0x und C++11)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2220079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2220079</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 06 Jun 2012 05:21:35 GMT</pubDate></item></channel></rss>