<?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[Rechts- bzw. Linksseitigkeit bei Operatorenüberladung]]></title><description><![CDATA[<p>Heho, wollte kurz fragen, ob es möglich ist durch hinzufügen eines Schlüsselwortes o.ä. dem Compiler mitzuteilen, dass überladener Operator kommutativ sein soll? Etwa wenn ich die skalare Multiplikation eines Vektors mit einem Skalar überlade, so dass ich diese nicht zweimal praktisch identisch implementieren muss.</p>
<p>Habe jetzt nämlich z.B. das hier:</p>
<pre><code class="language-cpp">friend Vek3 operator*(double Zahl,Vek3&amp; vektor);
        friend Vek3 operator*(Vek3&amp; vektor,double Zahl);
</code></pre>
<p>Macht natürlich zweimal genau das selbe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302448/rechts-bzw-linksseitigkeit-bei-operatorenüberladung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 07:47:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302448.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 Apr 2012 20:26:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rechts- bzw. Linksseitigkeit bei Operatorenüberladung on Wed, 18 Apr 2012 20:26:17 GMT]]></title><description><![CDATA[<p>Heho, wollte kurz fragen, ob es möglich ist durch hinzufügen eines Schlüsselwortes o.ä. dem Compiler mitzuteilen, dass überladener Operator kommutativ sein soll? Etwa wenn ich die skalare Multiplikation eines Vektors mit einem Skalar überlade, so dass ich diese nicht zweimal praktisch identisch implementieren muss.</p>
<p>Habe jetzt nämlich z.B. das hier:</p>
<pre><code class="language-cpp">friend Vek3 operator*(double Zahl,Vek3&amp; vektor);
        friend Vek3 operator*(Vek3&amp; vektor,double Zahl);
</code></pre>
<p>Macht natürlich zweimal genau das selbe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203440</guid><dc:creator><![CDATA[Namenloser324]]></dc:creator><pubDate>Wed, 18 Apr 2012 20:26:17 GMT</pubDate></item><item><title><![CDATA[Reply to Rechts- bzw. Linksseitigkeit bei Operatorenüberladung on Wed, 18 Apr 2012 20:29:39 GMT]]></title><description><![CDATA[<p>Nein. Du kannst dir aber die Schreibarbeit erleichtern:</p>
<pre><code class="language-cpp">friend Vek3 operator*(double Zahl,Vek3&amp; vektor)
{
    return Vek3(vektor.x * Zahl, vektor.y * Zahl, vektor.z * Zahl);
}

friend Vek3 operator*(Vek3&amp; vektor,double Zahl)
{
    return Zahl * vektor;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2203441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203441</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Wed, 18 Apr 2012 20:29:39 GMT</pubDate></item><item><title><![CDATA[Reply to Rechts- bzw. Linksseitigkeit bei Operatorenüberladung on Thu, 19 Apr 2012 06:02:29 GMT]]></title><description><![CDATA[<p>Lass dir die verschiedenen Formen von operator* doch &quot;generieren&quot;:</p>
<pre><code class="language-cpp">#include &lt;boost/operators.hpp&gt;
class Vec3
  : boost::multiplicable&lt;Vec3, double&gt;  //!
{
  /* ... */
public:
  Vec3&amp; operator *= (double faktor)     //!!
  {
    x*= faktor; y *= faktor; z *= faktor;
    return *this;
  }
};
</code></pre>
<p>boost::multiplicable&lt;Vec3,double&gt; &quot;induziert&quot; quasi die beiden operatoren für double und Vec3, die dann jeweils den gezeigten operator*= benutzen.</p>
<p>Mehr dazu im <a href="http://magazin.c-plusplus.net/ausgaben" rel="nofollow">Magazin</a> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203475</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 19 Apr 2012 06:02:29 GMT</pubDate></item></channel></rss>