<?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überladung]]></title><description><![CDATA[<p>Hallo, ich hätte da ein Problem mit einer Operatorüberladung.<br />
Ich möchte einfach diesen Methode &quot;getTotalPoints()&quot; aufrufen in meiner Operatorüberladung. Um denn Wert daraus Auszulesen. Dummerweise will er das so nicht annehmen. Ich vermute das es was mit dem const auf sich hat.<br />
(die const waren alle vorgegeben)<br />
Kann mir jemand erklären warum er das nicht akzeptiert ? <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>
<p>Fehlercode<br />
error: passing 'const CTeam' as 'this' argument of 'const unsigned int CTeam::getTotalPoints()' discards qualifiers [-fpermissive]<br />
rop.getTotalPoints();</p>
<p>Teil vom UML das geg. war:</p>
<p>+&lt;&lt;friend&gt;&gt; operator &lt;&lt;(out:ostream&amp;,rop:CTeam const&amp;): ostream&amp;<br />
const unsigned int getTotalPoints();</p>
<p>Header</p>
<pre><code>friend ostream&amp; operator&lt;&lt;(ostream&amp; out,const CTeam&amp; rop);
const unsigned int getTotalPoints();
</code></pre>
<p>Methode(cpp)</p>
<pre><code>ostream&amp; operator&lt;&lt;(ostream&amp; out,const CTeam&amp; rop)
{
	out&lt;&lt;rop.m_teamName&lt;&lt;endl;
	out&lt;&lt;rop.m_winsTotal&lt;&lt;&quot; &quot;&lt;&lt;rop.m_equalTotal&lt;&lt;&quot; &quot;&lt;&lt;rop.m_lostTotal;
	rop.getTotalPoints();// Fehlerquelle 

return out;

}
</code></pre>
<p>get Methode(cpp)</p>
<pre><code>const unsigned int CTeam::getTotalPoints()
{
	return ((m_winsTotal*3)+m_equalTotal);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/333641/operatorüberladung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 18:29:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/333641.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Jul 2015 19:17:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operatorüberladung on Mon, 20 Jul 2015 19:17:54 GMT]]></title><description><![CDATA[<p>Hallo, ich hätte da ein Problem mit einer Operatorüberladung.<br />
Ich möchte einfach diesen Methode &quot;getTotalPoints()&quot; aufrufen in meiner Operatorüberladung. Um denn Wert daraus Auszulesen. Dummerweise will er das so nicht annehmen. Ich vermute das es was mit dem const auf sich hat.<br />
(die const waren alle vorgegeben)<br />
Kann mir jemand erklären warum er das nicht akzeptiert ? <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>
<p>Fehlercode<br />
error: passing 'const CTeam' as 'this' argument of 'const unsigned int CTeam::getTotalPoints()' discards qualifiers [-fpermissive]<br />
rop.getTotalPoints();</p>
<p>Teil vom UML das geg. war:</p>
<p>+&lt;&lt;friend&gt;&gt; operator &lt;&lt;(out:ostream&amp;,rop:CTeam const&amp;): ostream&amp;<br />
const unsigned int getTotalPoints();</p>
<p>Header</p>
<pre><code>friend ostream&amp; operator&lt;&lt;(ostream&amp; out,const CTeam&amp; rop);
const unsigned int getTotalPoints();
</code></pre>
<p>Methode(cpp)</p>
<pre><code>ostream&amp; operator&lt;&lt;(ostream&amp; out,const CTeam&amp; rop)
{
	out&lt;&lt;rop.m_teamName&lt;&lt;endl;
	out&lt;&lt;rop.m_winsTotal&lt;&lt;&quot; &quot;&lt;&lt;rop.m_equalTotal&lt;&lt;&quot; &quot;&lt;&lt;rop.m_lostTotal;
	rop.getTotalPoints();// Fehlerquelle 

return out;

}
</code></pre>
<p>get Methode(cpp)</p>
<pre><code>const unsigned int CTeam::getTotalPoints()
{
	return ((m_winsTotal*3)+m_equalTotal);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2460462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2460462</guid><dc:creator><![CDATA[Korpos]]></dc:creator><pubDate>Mon, 20 Jul 2015 19:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorüberladung on Mon, 20 Jul 2015 19:20:19 GMT]]></title><description><![CDATA[<p>Die Signatur deiner getTotalPoints soll wohl eher</p>
<pre><code>unsigned int getTotalPoints() const;
</code></pre>
<p>sein. Nicht der Rückgabewert der Methode soll const sein (das wäre ziemlich sinnlos), sondern die Methode selbst soll das Objekt nicht verändern können (und somit auf konstanten Objekten aufrufbar sein).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2460463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2460463</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 20 Jul 2015 19:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorüberladung on Mon, 20 Jul 2015 19:39:42 GMT]]></title><description><![CDATA[<p>Vielen Dank jetzt hab ich das auch mal verstanden <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/2460464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2460464</guid><dc:creator><![CDATA[Korpos]]></dc:creator><pubDate>Mon, 20 Jul 2015 19:39:42 GMT</pubDate></item></channel></rss>