<?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[Vergleichs operator, als memeber oder als friend?]]></title><description><![CDATA[<p>Ich würde gerne wissen, ob es etwas bringt, wenn ich einen vergleichsoperator<br />
z.B. == als friend funktion implementiere soll, obwohl ich es auch als member funktion implementieren könnte.</p>
<p>Mir geht es konkret nur um den Vergleich zweier Objekte vom selben Typ.</p>
<p>Mir ist das bei Qt aufgefallen:<br />
<a href="http://qt-project.org/doc/qt-4.8/qsize.html#operator-eq-eq-35" rel="nofollow">http://qt-project.org/doc/qt-4.8/qsize.html#operator-eq-eq-35</a></p>
<p>Hier könnten sie zumindest den vergleich zweier QSize objekte als member funktion implementieren. Der funktions call würde sogar einen parameter weniger erfordern.</p>
<p>Weiß da jemand bescheid was der Grund dafür sein könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/308001/vergleichs-operator-als-memeber-oder-als-friend</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 05:58:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308001.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Sep 2012 20:56:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vergleichs operator, als memeber oder als friend? on Tue, 11 Sep 2012 20:56:21 GMT]]></title><description><![CDATA[<p>Ich würde gerne wissen, ob es etwas bringt, wenn ich einen vergleichsoperator<br />
z.B. == als friend funktion implementiere soll, obwohl ich es auch als member funktion implementieren könnte.</p>
<p>Mir geht es konkret nur um den Vergleich zweier Objekte vom selben Typ.</p>
<p>Mir ist das bei Qt aufgefallen:<br />
<a href="http://qt-project.org/doc/qt-4.8/qsize.html#operator-eq-eq-35" rel="nofollow">http://qt-project.org/doc/qt-4.8/qsize.html#operator-eq-eq-35</a></p>
<p>Hier könnten sie zumindest den vergleich zweier QSize objekte als member funktion implementieren. Der funktions call würde sogar einen parameter weniger erfordern.</p>
<p>Weiß da jemand bescheid was der Grund dafür sein könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2250467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2250467</guid><dc:creator><![CDATA[Nash26]]></dc:creator><pubDate>Tue, 11 Sep 2012 20:56:21 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichs operator, als memeber oder als friend? on Tue, 11 Sep 2012 21:01:32 GMT]]></title><description><![CDATA[<p>Wenn du Zugriff auf private Elemente braucht, für die es keine Getter gibt:<br />
Operatoren als Member</p>
<p>Wenn du außerhalb der Klasse auf alle Elemente problemlos zugreifen kannst:<br />
Operatoren als Non-Member</p>
<p>Wenn ein Sonderfall vorliegt (siehe z.B. Sid Meyers &quot;Effektiv C++ Programmieren&quot;, Auflage 3, Tipp 46 &quot;Definieren Sie bei erforderlichen Typumwandlungen Nichtelementfunktionen innerhalb von Templates&quot;):<br />
Operatoren als befreundete Non-Member</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2250468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2250468</guid><dc:creator><![CDATA[Operatordefinition]]></dc:creator><pubDate>Tue, 11 Sep 2012 21:01:32 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichs operator, als memeber oder als friend? on Tue, 11 Sep 2012 21:22:50 GMT]]></title><description><![CDATA[<p>Rein prinzipiell ist es in vielen Fällen sinnvoll, Operatoren, wenn möglich, als freie Funktionen zu definieren, z.B. damit implizite Konvertierungen bei binären Operatoren in beiden Argumenten berücksichtigt werden:</p>
<pre><code class="language-cpp">class string
{
  // ...
public:
  string(const char*);
  // ...
};

string operator +(const string&amp; a, const string&amp; b)
{
  // ...
}

string hello(&quot;hello&quot;);
string world(&quot;world&quot;);

&quot;hello&quot; + world;  // wäre operator + eine member function, würde das nicht funktionieren
hello + &quot;world&quot;;
</code></pre>
<p>Im Falle von templates wird man derartige Funktionen, wenn möglich, zusätzlich in einer friend Declaration im template definieren wollen, weil man dort Zugriff auf die Template Parameter hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2250470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2250470</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 11 Sep 2012 21:22:50 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichs operator, als memeber oder als friend? on Tue, 11 Sep 2012 21:08:54 GMT]]></title><description><![CDATA[<p>Nash26 schrieb:</p>
<blockquote>
<p>Ich würde gerne wissen, ob es etwas bringt, wenn ich einen vergleichsoperator<br />
z.B. == als friend funktion implementiere soll, obwohl ich es auch als member funktion implementieren könnte.</p>
</blockquote>
<p>Das Sollen bringt dir gar nichts.</p>
<p>Nash26 schrieb:</p>
<blockquote>
<p>Der funktions call würde sogar einen parameter weniger erfordern.</p>
</blockquote>
<p>Die Funktion hat auch dann 2 Parameter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2250471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2250471</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 11 Sep 2012 21:08:54 GMT</pubDate></item><item><title><![CDATA[Reply to Vergleichs operator, als memeber oder als friend? on Wed, 12 Sep 2012 17:57:33 GMT]]></title><description><![CDATA[<p>Operatordefinition schrieb:</p>
<blockquote>
<p>Wenn du Zugriff auf private Elemente braucht, für die es keine Getter gibt:<br />
Operatoren als Member</p>
</blockquote>
<p>Okay da würde bedeuten die von Qt hätten das QSize eigentlich als member operator defklarieren können.</p>
<p>Bleibt die Frage warum sie es doch nicht so gemacht haben?</p>
<p>[quote=&quot;camper&quot;]</p>
<p>Nash26 schrieb:</p>
<blockquote>
<p>Ich würde gerne wissen, ob es etwas bringt, wenn ich einen vergleichsoperator<br />
z.B. == als friend funktion implementiere soll, obwohl ich es auch als member funktion implementieren könnte.</p>
</blockquote>
<p>Das Sollen bringt dir gar nichts.</p>
<p>Willst du mir damit sagen es ist völlig egal wie ich es mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2250737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2250737</guid><dc:creator><![CDATA[Nash26]]></dc:creator><pubDate>Wed, 12 Sep 2012 17:57:33 GMT</pubDate></item></channel></rss>