<?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[Operatoren richtig überladen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss als Übung eine eigene Version der String-Klasse implementieren. Dazu soll u.a. der + Operator überladen werden. Ich habe mir hier das Tutorial zum Überladen von Operatoren durchgelesen. Dort steht als Beispiel für den + Operator:</p>
<pre><code>const X operator+(X const&amp; lhs, X const&amp; rhs);
</code></pre>
<p>Wenn ich das für mich abändere, sieht das ja so aus:</p>
<pre><code>const String operator+(String const&amp; lhs, String const&amp; rhs);
</code></pre>
<p>Aber mein Compiler (MSBuild, VS 2015 Preview) wirft die folgende Fehlermeldung:</p>
<blockquote>
<p>error C2804: Binärer Operator &quot;+&quot; hat zu viele Parameter</p>
</blockquote>
<p>Bei der Implementierung der Methode</p>
<pre><code>const String String::operator+(String const &amp;a, String const &amp;b)
{
    ...
}
</code></pre>
<p>erhalte ich dann die Fehlermeldung:</p>
<blockquote>
<p>class &quot;String&quot; enthält keinen Member &quot;operator+&quot;</p>
</blockquote>
<p>Außerdem erhalte ich bei</p>
<pre><code>String a = String(&quot;Hallo &quot;);
	String b = String(&quot;Welt!&quot;);
	String c = a + b;
</code></pre>
<p>in der dritten Zeile diesen Fehler:</p>
<blockquote>
<p>error C2676: Binärer Operator &quot;+&quot;: &quot;String&quot; definiert diesen Operator oder eine Konvertierung in einen für den vordefinierten Operator geeigneten Typ nicht</p>
</blockquote>
<p>Kann mir jemand sagen wo der Fehler liegt? Jedes Tut, dass ich gefunden habe, implementiert den Operator so.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/331931/operatoren-richtig-überladen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 02:06:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/331931.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Mar 2015 17:04:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operatoren richtig überladen on Sun, 29 Mar 2015 17:04:47 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss als Übung eine eigene Version der String-Klasse implementieren. Dazu soll u.a. der + Operator überladen werden. Ich habe mir hier das Tutorial zum Überladen von Operatoren durchgelesen. Dort steht als Beispiel für den + Operator:</p>
<pre><code>const X operator+(X const&amp; lhs, X const&amp; rhs);
</code></pre>
<p>Wenn ich das für mich abändere, sieht das ja so aus:</p>
<pre><code>const String operator+(String const&amp; lhs, String const&amp; rhs);
</code></pre>
<p>Aber mein Compiler (MSBuild, VS 2015 Preview) wirft die folgende Fehlermeldung:</p>
<blockquote>
<p>error C2804: Binärer Operator &quot;+&quot; hat zu viele Parameter</p>
</blockquote>
<p>Bei der Implementierung der Methode</p>
<pre><code>const String String::operator+(String const &amp;a, String const &amp;b)
{
    ...
}
</code></pre>
<p>erhalte ich dann die Fehlermeldung:</p>
<blockquote>
<p>class &quot;String&quot; enthält keinen Member &quot;operator+&quot;</p>
</blockquote>
<p>Außerdem erhalte ich bei</p>
<pre><code>String a = String(&quot;Hallo &quot;);
	String b = String(&quot;Welt!&quot;);
	String c = a + b;
</code></pre>
<p>in der dritten Zeile diesen Fehler:</p>
<blockquote>
<p>error C2676: Binärer Operator &quot;+&quot;: &quot;String&quot; definiert diesen Operator oder eine Konvertierung in einen für den vordefinierten Operator geeigneten Typ nicht</p>
</blockquote>
<p>Kann mir jemand sagen wo der Fehler liegt? Jedes Tut, dass ich gefunden habe, implementiert den Operator so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2448462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448462</guid><dc:creator><![CDATA[Code4Fun]]></dc:creator><pubDate>Sun, 29 Mar 2015 17:04:47 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren richtig überladen on Sun, 29 Mar 2015 17:22:29 GMT]]></title><description><![CDATA[<p>Entweder den operator global mit zwei parametern definieren oder in der Klasse mit nur einem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2448463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448463</guid><dc:creator><![CDATA[Marthog]]></dc:creator><pubDate>Sun, 29 Mar 2015 17:22:29 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren richtig überladen on Sun, 29 Mar 2015 17:56:38 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> ahhhhh.</p>
<p>Jetzt klappts. Vielen Dank <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2448466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448466</guid><dc:creator><![CDATA[Code4Fun]]></dc:creator><pubDate>Sun, 29 Mar 2015 17:56:38 GMT</pubDate></item></channel></rss>