<?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[Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen !]]></title><description><![CDATA[<p>Hey Leute bei folgenden Zeilen</p>
<pre><code class="language-cpp">Complex c1(1.0 , 2.0);
cout &lt;&lt; &quot;c1 = &quot; &lt;&lt; c1 &lt;&lt; endl;
</code></pre>
<p>soll folgende Ausgabe erfolgen<br />
c1 = 1.0 + 2.0i</p>
<p>Ich habe also eine Klasse Komplex erzeugt mit den Member varibalen im und re<br />
Und weise diese beiden variablen über den Konstruktor zu ..bla bla ...</p>
<p>Jedenfalls wollte ich jetzt den Operator &lt;&lt; für die Instanzen der klasse Complex überladen und scheitere daran .. im moment sieht der Code so aus ..</p>
<pre><code class="language-cpp">string complex::operator &lt;&lt;(const complex&amp; rhs)
{
	string unite;
	unite = &quot;KOMPLEXE ZAHL SOLLTE HIER IRGENDWIE VEREINIGT WERDEN&quot;;

	return unite;

}
</code></pre>
<p>Ich bräuchte mal nen denkanstoß</p>
<p>thx</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/264423/operator-lt-lt-für-komplexe-zahlen-überladen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 00:11:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/264423.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Apr 2010 13:21:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:21:16 GMT]]></title><description><![CDATA[<p>Hey Leute bei folgenden Zeilen</p>
<pre><code class="language-cpp">Complex c1(1.0 , 2.0);
cout &lt;&lt; &quot;c1 = &quot; &lt;&lt; c1 &lt;&lt; endl;
</code></pre>
<p>soll folgende Ausgabe erfolgen<br />
c1 = 1.0 + 2.0i</p>
<p>Ich habe also eine Klasse Komplex erzeugt mit den Member varibalen im und re<br />
Und weise diese beiden variablen über den Konstruktor zu ..bla bla ...</p>
<p>Jedenfalls wollte ich jetzt den Operator &lt;&lt; für die Instanzen der klasse Complex überladen und scheitere daran .. im moment sieht der Code so aus ..</p>
<pre><code class="language-cpp">string complex::operator &lt;&lt;(const complex&amp; rhs)
{
	string unite;
	unite = &quot;KOMPLEXE ZAHL SOLLTE HIER IRGENDWIE VEREINIGT WERDEN&quot;;

	return unite;

}
</code></pre>
<p>Ich bräuchte mal nen denkanstoß</p>
<p>thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878838</guid><dc:creator><![CDATA[Bacid90210]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:21:16 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:24:22 GMT]]></title><description><![CDATA[<p>Den operator überlädt man anders. Ich verweis mal aufs Magazin, Ausgabe Januar 2009 <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="🙂"
    /> Du kannst dann einfach im Operator die nötigen Dinge in den Stream schreiben wie du es normalerweise tust, wenn du die Ausgabe ohne einen selbstgebauten op&lt;&lt; machst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878840</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:24:22 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:25:33 GMT]]></title><description><![CDATA[<p>Das sollte in etwa so funktionieren:</p>
<pre><code class="language-cpp">std::ostream&amp; operator &lt;&lt;(std::ostream&amp; os, const complex&amp; rhs) {
   return os &lt;&lt; rhs.real() &lt;&lt; &quot; + &quot; &lt;&lt; rhs.imag() &lt;&lt; 'i';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1878843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878843</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:25:33 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:27:05 GMT]]></title><description><![CDATA[<p>Nicht .ToString() wie in .net benutzen.<br />
Lieber als complex selber auf den Stream (z.B. cout) schreibem.</p>
<pre><code class="language-cpp">friend ostream&amp; operator &lt;&lt;(ostream&amp; out,const complex&amp; rhs)
{
   out &lt;&lt; rhs.re &lt;&lt; &quot; + &quot; &lt;&lt; rhs.im &lt;&lt; 'i';	
   return out;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1878845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878845</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:27:05 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:27:30 GMT]]></title><description><![CDATA[<p>Ad aCTa schrieb:</p>
<blockquote>
<p>Das sollte in etwa so funktionieren:</p>
<pre><code class="language-cpp">std::ostream&amp; operator &lt;&lt;(std::ostream&amp; os, const complex&amp; rhs) {
   return os &lt;&lt; rhs.real() &lt;&lt; &quot; + &quot; &lt;&lt; rhs.imag() &lt;&lt; 'i';
}
</code></pre>
</blockquote>
<p>Ja, so funktionierts - ist allerdings didaktisch nicht sehr wertvoll, wenn er gleich die Komplettlösung bekommt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878846</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:27:30 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:28:46 GMT]]></title><description><![CDATA[<p>Noch weniger wertvoll: Die friend-Variante passt besser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878848</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:28:46 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:31:14 GMT]]></title><description><![CDATA[<p>Hmm ok , verständlich... und wo genau implemetiere ich das ... ???<br />
eigentlich doch in der Klasse std .. wie erlange Zugriff darauf ??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878850</guid><dc:creator><![CDATA[Bacid90210]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:31:14 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:32:33 GMT]]></title><description><![CDATA[<p>Ad aCTa schrieb:</p>
<blockquote>
<p>Noch weniger wertvoll: Die friend-Variante passt besser.</p>
</blockquote>
<p>Das ist wiederum Geschmackssache. Mehr oder weniger... Ich hab gelernt, friend so wenig wie möglich zu verwenden, einfach weils die stärkste Kapselungs-Brechstange ist die es überhaupt gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878851</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:32:33 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:35:36 GMT]]></title><description><![CDATA[<p>Bacid90210 schrieb:</p>
<blockquote>
<p>Hmm ok , verständlich... und wo genau implemetiere ich das ... ???<br />
eigentlich doch in der Klasse std .. wie erlange Zugriff darauf ??</p>
</blockquote>
<p>doppelt falsch:</p>
<ol>
<li>std ist ein Namensraum und keine Klasse</li>
<li>hast du da überhaupt keinen Zugriff drauf sondern solltest den Operator im selben namespace wie die Klasse als freien Operator implementieren (google: argument dependent lookup)- oder in dem namespace in dem du ihn benutzen willst.</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1878852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878852</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:38:10 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Ad aCTa schrieb:</p>
<blockquote>
<p>Noch weniger wertvoll: Die friend-Variante passt besser.</p>
</blockquote>
<p>Das ist wiederum Geschmackssache. Mehr oder weniger... Ich hab gelernt, friend so wenig wie möglich zu verwenden, einfach weils die stärkste Kapselungs-Brechstange ist die es überhaupt gibt.</p>
</blockquote>
<p>Gilt das auch für meine Lieblinge, die inline-friends wie</p>
<pre><code class="language-cpp">class complex {
   private:
   double re,im;
   public:
   //Konstruktoren und Arithmetik

   //Und jetzt kommt er:
   friend ostream&amp; operator &lt;&lt;(ostream&amp; out,const complex&amp; rhs) { 
      return out &lt;&lt; rhs.re &lt;&lt; &quot; + &quot; &lt;&lt; rhs.im &lt;&lt; 'i';    
   }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1878857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878857</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:38:10 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:46:09 GMT]]></title><description><![CDATA[<p>Warum friend ?<br />
Wiso eine Referenz auf ostream ?? .... das is zu viel für mich ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Wenn mir einer die erste Zeile nochmal erklären könnte wäre ich ihm echt dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878862</guid><dc:creator><![CDATA[Bacid90210]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:47:43 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Gilt das auch für meine Lieblinge, die inline-friends wie</p>
</blockquote>
<p>Ja - für alle friends, die man ohne übermäßige Kosten vermeiden kann... IIRC wars in einem der Sutter-Bücher wo die Delegation an eine normale Methode delegiert wurde, wie ichs auch im Magazinartikel beschrieben hab:</p>
<pre><code class="language-cpp">std::ostream&amp; X::outputToStream(std::ostream&amp;) const;

std::ostream&amp; operator&lt;&lt;(std::ostream&amp; lhs, X const&amp; rhs)
{
  return rhs.outputToStream(lhs);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1878864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878864</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:48:39 GMT]]></title><description><![CDATA[<p>Bacid90210 schrieb:</p>
<blockquote>
<p>Warum friend ?<br />
Wiso eine Referenz auf ostream ?? .... das is zu viel für mich ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Wenn mir einer die erste Zeile nochmal erklären könnte wäre ich ihm echt dankbar</p>
</blockquote>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-232010-and-start-is-0.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-232010-and-start-is-0.html</a> und folgende</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878865</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:48:39 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:49:47 GMT]]></title><description><![CDATA[<p>Bacid90210 schrieb:</p>
<blockquote>
<p>Warum friend ?<br />
Wiso eine Referenz auf ostream ?? .... das is zu viel für mich ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>friend für den zugriff auf private Daten, die Referenz auf ostream zurückliefern, damit man <code>a &lt;&lt; b &lt;&lt; c &lt;&lt; d</code> schreiben kann.<br />
Das steht allerdings beides in jedem Grundlagenbuch und in jedem besseren Tutorial, vielleicht solltest du dich da nochmal einlesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878867</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:49:47 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:54:00 GMT]]></title><description><![CDATA[<p>Ja das werd ich wohl tun müssen ...</p>
<p>Danke erstmal für eure Tipps ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878872</guid><dc:creator><![CDATA[Bacid90210]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 13:59:41 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Gilt das auch für meine Lieblinge, die inline-friends wie</p>
</blockquote>
<p>Ja - für alle friends, die man ohne übermäßige Kosten vermeiden kann... IIRC wars in einem der Sutter-Bücher wo die Delegation an eine normale Methode delegiert wurde, wie ichs auch im Magazinartikel beschrieben hab:</p>
<pre><code class="language-cpp">std::ostream&amp; X::outputToStream(std::ostream&amp;) const;

std::ostream&amp; operator&lt;&lt;(std::ostream&amp; lhs, X const&amp; rhs)
{
  return rhs.outputToStream(lhs);
}
</code></pre>
</blockquote>
<p>Das mache ich eigentlich nur, wenn es sein muß, nämlich wenn outputToStream virtuell kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878874</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 07 Apr 2010 13:59:41 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;lt;&amp;lt; für Komplexe zahlen überladen ! on Wed, 07 Apr 2010 14:26:15 GMT]]></title><description><![CDATA[<p>Das sehe ich ähnlich wie du, volkard. pumuckl und ich haben die Thematik schon einmal kurz diskutiert, siehe <a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1866634.html#1866634" rel="nofollow">hier</a>.</p>
<p>Es gibt also durchaus verschiedene Einstellungen gegenüber <code>friend</code> . <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878895</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 07 Apr 2010 14:26:15 GMT</pubDate></item></channel></rss>