<?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 von Methoden überladen]]></title><description><![CDATA[<p>Ich bin mal wieder da und hab auch wieder eine Frage^^</p>
<p>Also, ist es möglich Operatoren von Methoden zu überladen?</p>
<p>Also dass ich z.b.</p>
<pre><code class="language-cpp">Class foo;
foo.x() + 1;
</code></pre>
<p>schreiben kann?</p>
<p>Geht das direkt, oder müsste ich irgendwelche Zwischenobjekte erstellen?</p>
<p>Gruß,<br />
The-Kenny</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181108/operator-von-methoden-überladen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 04:42:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181108.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 May 2007 22:44:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operator von Methoden überladen on Wed, 09 May 2007 22:44:04 GMT]]></title><description><![CDATA[<p>Ich bin mal wieder da und hab auch wieder eine Frage^^</p>
<p>Also, ist es möglich Operatoren von Methoden zu überladen?</p>
<p>Also dass ich z.b.</p>
<pre><code class="language-cpp">Class foo;
foo.x() + 1;
</code></pre>
<p>schreiben kann?</p>
<p>Geht das direkt, oder müsste ich irgendwelche Zwischenobjekte erstellen?</p>
<p>Gruß,<br />
The-Kenny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1282035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282035</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Wed, 09 May 2007 22:44:04 GMT</pubDate></item><item><title><![CDATA[Reply to Operator von Methoden überladen on Thu, 10 May 2007 03:32:57 GMT]]></title><description><![CDATA[<p>Anfaengerantwort (ergo nicht unbedingt richtig):</p>
<p>Methoden/Funktionen haben keine Operatoren...</p>
<p>Eine Methode gibt einen Wert zurueck (oder void) Und auf diesen Rueckgabewert (was auch immer sein mag, vielleicht int in diesem fall) wird der operator+ aufgerufen.</p>
<p>Falls die Funktion void oder einen Typ, fuer den kein operator+ definiert wurde, zurueckgibt, sollte das nicht kompilierbar sein.</p>
<p>Anders: beim aufruf vom Operator+ ist deine Methode schon laengst abgearbeitet und wieder verlassen worden.</p>
<p>Ergo: Nein, geht nicht, macht auch keinen Sinn. (oder wo wuerdest du das nutzen wollen?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1282046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282046</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Thu, 10 May 2007 03:32:57 GMT</pubDate></item><item><title><![CDATA[Reply to Operator von Methoden überladen on Thu, 10 May 2007 13:26:21 GMT]]></title><description><![CDATA[<p>Wenn die Methode x() ein Objekt (by Value) einer Klasse bzw. Struktur (oder auch eine (const-) Referenz) zurückgibt, dann könntest du dafür Operatoren überladen.</p>
<p>Also folgendes ist machbar:</p>
<pre><code class="language-cpp">class T
{
public:
   X operator +(int);
};

// mögliche Rückgabewerte von foo.x():
// T x();
// T&amp; x();
// const T&amp; x();
</code></pre>
<p>Der Rückgabewert X des Operators mußt du dann entsprechend definieren, also z.B. T oder auch int oder sonstwie...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1282402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282402</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Thu, 10 May 2007 13:26:21 GMT</pubDate></item><item><title><![CDATA[Reply to Operator von Methoden überladen on Thu, 10 May 2007 14:13:00 GMT]]></title><description><![CDATA[<p>Was willst du damit bezwecken. Schreiben kannst du dass auf jeden Fall.</p>
<pre><code class="language-cpp">class Bar
{
public:
   int operator()() { return 1; }
};

struct Foo
{
   Bar x;
};

int main () 
{ 
   Foo foo;

   int i = foo.x() + 1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1282430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282430</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Thu, 10 May 2007 14:13:00 GMT</pubDate></item></channel></rss>