<?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[Wie schon so oft: &amp;lt;&amp;lt; überladen]]></title><description><![CDATA[<p>Ich hab mich mal durchs Forum geklickt um rauszufinden wie das geht. Dadurch konnte ich jetzt schon einige Fehler eliminieren. Trotzdem kommt noch ein Fehler.</p>
<p>Ich habe eine Klasse für 3-dimensionale Punkte geschrieben. Die Überladung des &lt;&lt;-Operators mache ich dann in der Datei Point3D.cpp folgendermaßen:</p>
<pre><code class="language-cpp">std::ostream&amp; operator &lt;&lt; (std::ostream&amp; out_file, const Point3D&amp; number) {
                out_file &lt;&lt; &quot;(&quot; &lt;&lt; number.getX() &lt;&lt; &quot;;&quot; &lt;&lt; number.getY() &lt;&lt; &quot;;&quot; &lt;&lt; number.getZ() &lt;&lt; &quot;)&quot;;
                return out_file;
                }
</code></pre>
<p>Meine Ausgabe in der main ist dann folgendermaßen:</p>
<pre><code class="language-cpp">Point3D Punkt;
cout&lt;&lt;Punkt;
</code></pre>
<p>Als Fehler kommt dann:<br />
multiple definition of `operator&lt;&lt;(std::ostream&amp;, Point3D const&amp;)'<br />
first defined here<br />
ld returned 1 exit status</p>
<p>Dabei gibt es aber keine Zeilenangabe oder ähnliches. Ich werde daraus echt nicht schlau.<br />
Könnte mir vielleicht jemand helfen was ich da falsch mache?</p>
<p>Danke schonmal im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184966/wie-schon-so-oft-lt-lt-überladen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 01:18:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184966.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Jun 2007 17:11:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie schon so oft: &amp;lt;&amp;lt; überladen on Wed, 20 Jun 2007 17:11:29 GMT]]></title><description><![CDATA[<p>Ich hab mich mal durchs Forum geklickt um rauszufinden wie das geht. Dadurch konnte ich jetzt schon einige Fehler eliminieren. Trotzdem kommt noch ein Fehler.</p>
<p>Ich habe eine Klasse für 3-dimensionale Punkte geschrieben. Die Überladung des &lt;&lt;-Operators mache ich dann in der Datei Point3D.cpp folgendermaßen:</p>
<pre><code class="language-cpp">std::ostream&amp; operator &lt;&lt; (std::ostream&amp; out_file, const Point3D&amp; number) {
                out_file &lt;&lt; &quot;(&quot; &lt;&lt; number.getX() &lt;&lt; &quot;;&quot; &lt;&lt; number.getY() &lt;&lt; &quot;;&quot; &lt;&lt; number.getZ() &lt;&lt; &quot;)&quot;;
                return out_file;
                }
</code></pre>
<p>Meine Ausgabe in der main ist dann folgendermaßen:</p>
<pre><code class="language-cpp">Point3D Punkt;
cout&lt;&lt;Punkt;
</code></pre>
<p>Als Fehler kommt dann:<br />
multiple definition of `operator&lt;&lt;(std::ostream&amp;, Point3D const&amp;)'<br />
first defined here<br />
ld returned 1 exit status</p>
<p>Dabei gibt es aber keine Zeilenangabe oder ähnliches. Ich werde daraus echt nicht schlau.<br />
Könnte mir vielleicht jemand helfen was ich da falsch mache?</p>
<p>Danke schonmal im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310117</guid><dc:creator><![CDATA[Anfänger2]]></dc:creator><pubDate>Wed, 20 Jun 2007 17:11:29 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schon so oft: &amp;lt;&amp;lt; überladen on Wed, 20 Jun 2007 17:42:24 GMT]]></title><description><![CDATA[<p>Ich schätze mal du hast den geposteten Code an 2 verschiedenen<br />
Stellen inkludiert, dann weiß er beim Linken nicht, welche (auch wenn sie<br />
identisch sind) er nehmen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310138</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 20 Jun 2007 17:42:24 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schon so oft: &amp;lt;&amp;lt; überladen on Wed, 20 Jun 2007 19:27:17 GMT]]></title><description><![CDATA[<p>Ich hatte die Headerdatei sowohl in der Point3D.cpp als auch in der main-Datei includiert (welche ja auch wieder die Point3D.cpp als includiert hat). Aber wenn ich das ändere kommt noch immer der Fehler. Ansonsten habe ich nichts doppelt includiert.<br />
Wenn ich den Code in die main-Datei schreibe funktioniert es. Ich würde es aber gerne in der Definitionsdatei belassen, da noch andere Definitionen hinzukommen, die ich gerne übersichtlich in einer Datei hätte. Was könnte daran nun falsch sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310187</guid><dc:creator><![CDATA[Anfänger2]]></dc:creator><pubDate>Wed, 20 Jun 2007 19:27:17 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schon so oft: &amp;lt;&amp;lt; überladen on Wed, 20 Jun 2007 19:34:52 GMT]]></title><description><![CDATA[<p>Anfänger2 schrieb:</p>
<blockquote>
<p>Ich hatte die Headerdatei sowohl in der Point3D.cpp als auch in der main-Datei includiert (welche ja auch wieder die Point3D.cpp als includiert hat).</p>
</blockquote>
<p>versteh ich dich richtig das du in der main.cpp die Point3D.cpp includiert hast ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310190</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Wed, 20 Jun 2007 19:34:52 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schon so oft: &amp;lt;&amp;lt; überladen on Wed, 20 Jun 2007 19:37:19 GMT]]></title><description><![CDATA[<p>Ja, ist das falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310191</guid><dc:creator><![CDATA[Anfänger2]]></dc:creator><pubDate>Wed, 20 Jun 2007 19:37:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schon so oft: &amp;lt;&amp;lt; überladen on Wed, 20 Jun 2007 21:11:04 GMT]]></title><description><![CDATA[<p>Anfänger2 schrieb:</p>
<blockquote>
<p>Ja, ist das falsch?</p>
</blockquote>
<p>jups. header-files werden includiert. cpp werden gelinkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310254</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Wed, 20 Jun 2007 21:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schon so oft: &amp;lt;&amp;lt; überladen on Thu, 21 Jun 2007 06:21:37 GMT]]></title><description><![CDATA[<p>Ohh, dummer Fehler. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310352</guid><dc:creator><![CDATA[Amfänger2]]></dc:creator><pubDate>Thu, 21 Jun 2007 06:21:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wie schon so oft: &amp;lt;&amp;lt; überladen on Thu, 21 Jun 2007 09:12:21 GMT]]></title><description><![CDATA[<p>du könntest operator&lt;&lt; auch im header lassen und inline machen, wenn du die <a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=ODR#Answ" rel="nofollow">one definition rule</a> nicht verletzten willst. siehe dazu auch <a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-759322.html" rel="nofollow">die C++ FAQ</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310468</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Thu, 21 Jun 2007 09:12:21 GMT</pubDate></item></channel></rss>