<?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 überladen]]></title><description><![CDATA[<p>Hallo,</p>
<p>1)in unseren Folien zur Vorlesung steht, dass man in C++ Operatoren überladen kann.<br />
Kann ich dann zB + durch - überladen, dass also 5+5 = 0 ergibt? oder kann man Operatoren nur spezifisch für Klassen überladen, sodass die neue Definition des Operators nur für die Objekte eine Klasse gelten.<br />
2)Kann ein überladener Operator auch mehr als nur 1 Parameter entgegen nehmen?<br />
Wenn nämlich die Operatoren nur in Bezug auf Klassen gelten, ist ja ein Parameter einer binären Operation durch die Klasse selbst belegt?</p>
<p>Danke schon mal</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/275299/operator-überladen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 02:38:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/275299.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Oct 2010 16:43:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operator überladen on Tue, 12 Oct 2010 16:43:18 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>1)in unseren Folien zur Vorlesung steht, dass man in C++ Operatoren überladen kann.<br />
Kann ich dann zB + durch - überladen, dass also 5+5 = 0 ergibt? oder kann man Operatoren nur spezifisch für Klassen überladen, sodass die neue Definition des Operators nur für die Objekte eine Klasse gelten.<br />
2)Kann ein überladener Operator auch mehr als nur 1 Parameter entgegen nehmen?<br />
Wenn nämlich die Operatoren nur in Bezug auf Klassen gelten, ist ja ein Parameter einer binären Operation durch die Klasse selbst belegt?</p>
<p>Danke schon mal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1964564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1964564</guid><dc:creator><![CDATA[invoices]]></dc:creator><pubDate>Tue, 12 Oct 2010 16:43:18 GMT</pubDate></item><item><title><![CDATA[Reply to Operator überladen on Tue, 12 Oct 2010 16:47:42 GMT]]></title><description><![CDATA[<p><a href="http://magazin.c-plusplus.net/artikel/%DCberladung%20von%20Operatoren%20in%20CPlusPlus%20(Teil%201)" rel="nofollow">Artikel im C++.de Magazin</a></p>
<ol>
<li>
<p>du kannst nur neue Operatoren definieren, sprich: welche die es noch nicht gibt. int+int gibt es schon. Das geht nicht. foo+int kannst du dagegen selber definieren.</p>
</li>
<li>
<p>du kannst nur vorhandene Operator-Arten definieren. Ein unaeres % geht zB nicht. ein unaeres - gibt es aber.<br />
Bei<br />
-foo<br />
ist der eine Parameter natuerlich foo selber.</p>
</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1964569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1964569</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 12 Oct 2010 16:47:42 GMT</pubDate></item><item><title><![CDATA[Reply to Operator überladen on Tue, 12 Oct 2010 16:49:12 GMT]]></title><description><![CDATA[<p>invoices schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>1)in unseren Folien zur Vorlesung steht, dass man in C++ Operatoren überladen kann.<br />
Kann ich dann zB + durch - überladen, dass also 5+5 = 0 ergibt? oder kann man Operatoren nur spezifisch für Klassen überladen, sodass die neue Definition des Operators nur für die Objekte eine Klasse gelten.</p>
</blockquote>
<p>Mindestens einer der beteiligten Parameter muss ein eigener Datentyp sein.</p>
<blockquote>
<p>2)Kann ein überladener Operator auch mehr als nur 1 Parameter entgegen nehmen?<br />
Wenn nämlich die Operatoren nur in Bezug auf Klassen gelten, ist ja ein Parameter einer binären Operation durch die Klasse selbst belegt?</p>
</blockquote>
<p>Genau. Der andere (bei binären Operatoren) ist frei wählbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1964572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1964572</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 12 Oct 2010 16:49:12 GMT</pubDate></item><item><title><![CDATA[Reply to Operator überladen on Tue, 12 Oct 2010 16:51:20 GMT]]></title><description><![CDATA[<p>invoices schrieb:</p>
<blockquote>
<p>1)in unseren Folien zur Vorlesung steht, dass man in C++ Operatoren überladen kann.<br />
Kann ich dann zB + durch - überladen, dass also 5+5 = 0 ergibt? oder kann man Operatoren nur spezifisch für Klassen überladen, sodass die neue Definition des Operators nur für die Objekte eine Klasse gelten.</p>
</blockquote>
<p>Überladungen gehen nur wenn mindestens ein Argument kein eingebauter Typ ist, d.h. man kann bestehende Operatoren nicht verändern.</p>
<blockquote>
<p>2)Kann ein überladener Operator auch mehr als nur 1 Parameter entgegen nehmen?<br />
Wenn nämlich die Operatoren nur in Bezug auf Klassen gelten, ist ja ein Parameter einer binären Operation durch die Klasse selbst belegt?</p>
</blockquote>
<p>Jein. Man kann die meisten binären Operatoren als freie Funktionen überladen, so dass sie zwei Argumente erhalten. Du kannst aber nicht einem Operator mehr Argumente verpassen als die normale Sprachsyntax erlaubt.</p>
<p>Mehr zur Operatorüberladung findest du in den entsprechenden Artikeln im Magazin: <a href="http://magazin.c-plusplus.net/artikel/%DCberladung%20von%20Operatoren%20in%20CPlusPlus%20%28Teil%201%29" rel="nofollow">http://magazin.c-plusplus.net/artikel/�berladung von Operatoren in CPlusPlus (Teil 1)</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1964573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1964573</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 12 Oct 2010 16:51:20 GMT</pubDate></item><item><title><![CDATA[Reply to Operator überladen on Wed, 13 Oct 2010 14:40:54 GMT]]></title><description><![CDATA[<p>Beispiel zu 5+5=0:</p>
<pre><code class="language-cpp">class my_int
{
    int x;
public:
    my_int(int i)    :    x(i)    {}
    int operator+(int y)
    {
        return x - y;
    }
};

int main()
{
    my_int a(5);
    int b = a + 5;
    std::cout&lt;&lt;b;    // b = 0
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1965065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965065</guid><dc:creator><![CDATA[NEO.PIXEL]]></dc:creator><pubDate>Wed, 13 Oct 2010 14:40:54 GMT</pubDate></item><item><title><![CDATA[Reply to Operator überladen on Wed, 13 Oct 2010 16:07:04 GMT]]></title><description><![CDATA[<p>NEO.PIXEL schrieb:</p>
<blockquote>
<p>Beispiel zu 5+5=0:</p>
</blockquote>
<p>Das ist aber nicht 5+5 sondern my_int(5)+5 - 5+5 ergibt immernoch 10, das kannste dem Compiler auch nicht austreiben <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/1965118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965118</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 13 Oct 2010 16:07:04 GMT</pubDate></item></channel></rss>