<?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[Linksseitiger Operator]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>wie kann ichs schaffen, dass ein überladener * Operator sowohl rechts- als auch linksseitig funktioniert, rechtsseitig war kein Problem</p>
<p>Vektor operator*(const double skalar);</p>
<p>aber linksseitig ???</p>
<p>Gruss CatDog</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193021/linksseitiger-operator</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 17:27:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193021.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Sep 2007 07:31:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linksseitiger Operator on Fri, 21 Sep 2007 07:31:00 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>wie kann ichs schaffen, dass ein überladener * Operator sowohl rechts- als auch linksseitig funktioniert, rechtsseitig war kein Problem</p>
<p>Vektor operator*(const double skalar);</p>
<p>aber linksseitig ???</p>
<p>Gruss CatDog</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1369873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1369873</guid><dc:creator><![CDATA[CatDog]]></dc:creator><pubDate>Fri, 21 Sep 2007 07:31:00 GMT</pubDate></item><item><title><![CDATA[Reply to Linksseitiger Operator on Fri, 21 Sep 2007 07:33:32 GMT]]></title><description><![CDATA[<p>Wenn der linke Operand kein Klassen-Objekt ist, mußt du den Operator als globale Funktion schreiben:</p>
<pre><code class="language-cpp">class Vector
{
  ...
public:
  Vector operator*(double s) const;//v*s
  ...
};

Vector operator*(double s, const Vector&amp; v)//s*v
{ return v*s; }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1369874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1369874</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 21 Sep 2007 07:33:32 GMT</pubDate></item><item><title><![CDATA[Reply to Linksseitiger Operator on Fri, 21 Sep 2007 08:36:10 GMT]]></title><description><![CDATA[<p>Gibts nicht eh sone Richtlinie, dass Dinge wie operator* global sien sollten, um implizierte Konvertierungen zu ermoeglichen? Wenn mich mein truebes Gedaechtnis nicht taeuscht, sieht ein Beispiel in etwa wie folgt aus:</p>
<pre><code class="language-cpp">class Complex {
public:
  Complex(double d); //Konvertierung double-&gt;complex moeglich
  Complex operator*(const Complex&amp; rhs);
}

int main()
{
  Complex a, b, c;
  a = b * 5.0;  //geht, da 5 in Complex konvertiert werden kann
  a = 5.0 * c; //geht nicht!
}

////////////////////////////////
//statt dessen:

Complex operator*(const Complex&amp; lhs, const Complex&amp; rhs);
//jetzt geht konvertierung auf beiden seiten...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1369915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1369915</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 21 Sep 2007 08:36:10 GMT</pubDate></item></channel></rss>