<?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 Overloading - Effizient oder Nicht?]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich schreibe gerade eine Klasse fuer Brueche, um das Operator Overloading nen bisschen zu üben, nun mach ich folgendes:</p>
<pre><code class="language-cli">bool operator&gt;(const Bruch&amp; otherBruch) { 
                   int this_value = this-&gt;GetZaehler()/this-&gt;GetNenner();
                   int other_value = otherBruch.GetZaehler/otherBruch.GetNenner();
                   if (this_value &gt; other_value) {
                     return true;
                   }
                   else {
                     return false;
                   }
             }
             bool operator&lt;(const Bruch&amp; otherBruch) { 
                   int this_value = this-&gt;GetZaehler()/this-&gt;GetNenner();
                   int other_value = otherBruch.GetZaehler/otherBruch.GetNenner();
                   if (this_value &lt; other_value) {
                     return true;
                   }
                   else {
                     return false;
                   }
             }
             bool operator==(const Bruch&amp; otherBruch) { 
                   int this_value = this-&gt;GetZaehler()/this-&gt;GetNenner();
                   int other_value = otherBruch.GetZaehler/otherBruch.GetNenner();
                   if (this_value == other_value) {
                     return true;
                   }
                   else {
                     return false;
                   }
             }
             bool operator!=(const Bruch&amp; otherBruch) { 
                   int this_value = this-&gt;GetZaehler()/this-&gt;GetNenner();
                   int other_value = otherBruch.GetZaehler/otherBruch.GetNenner();
                   if (this_value != other_value) {
                     return true;
                   }
                   else {
                     return false;
                   }
             }
</code></pre>
<p>Ich schreib ja fast viermal das genau gleiche, is das effizient??<br />
und für &gt;= und &lt;= müsste ich nochmals zweimal das ganze schreiben...<br />
gibts denn keinen anderen, besseren Weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/255427/operator-overloading-effizient-oder-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 01:26:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/255427.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Nov 2009 19:14:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 19:14:42 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich schreibe gerade eine Klasse fuer Brueche, um das Operator Overloading nen bisschen zu üben, nun mach ich folgendes:</p>
<pre><code class="language-cli">bool operator&gt;(const Bruch&amp; otherBruch) { 
                   int this_value = this-&gt;GetZaehler()/this-&gt;GetNenner();
                   int other_value = otherBruch.GetZaehler/otherBruch.GetNenner();
                   if (this_value &gt; other_value) {
                     return true;
                   }
                   else {
                     return false;
                   }
             }
             bool operator&lt;(const Bruch&amp; otherBruch) { 
                   int this_value = this-&gt;GetZaehler()/this-&gt;GetNenner();
                   int other_value = otherBruch.GetZaehler/otherBruch.GetNenner();
                   if (this_value &lt; other_value) {
                     return true;
                   }
                   else {
                     return false;
                   }
             }
             bool operator==(const Bruch&amp; otherBruch) { 
                   int this_value = this-&gt;GetZaehler()/this-&gt;GetNenner();
                   int other_value = otherBruch.GetZaehler/otherBruch.GetNenner();
                   if (this_value == other_value) {
                     return true;
                   }
                   else {
                     return false;
                   }
             }
             bool operator!=(const Bruch&amp; otherBruch) { 
                   int this_value = this-&gt;GetZaehler()/this-&gt;GetNenner();
                   int other_value = otherBruch.GetZaehler/otherBruch.GetNenner();
                   if (this_value != other_value) {
                     return true;
                   }
                   else {
                     return false;
                   }
             }
</code></pre>
<p>Ich schreib ja fast viermal das genau gleiche, is das effizient??<br />
und für &gt;= und &lt;= müsste ich nochmals zweimal das ganze schreiben...<br />
gibts denn keinen anderen, besseren Weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815559</guid><dc:creator><![CDATA[EffizientOrNot?]]></dc:creator><pubDate>Mon, 30 Nov 2009 19:14:42 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 19:34:32 GMT]]></title><description><![CDATA[<p>So zum Beispiel:</p>
<pre><code class="language-cpp">bool operator&lt;(const Bruch &amp;otherBruch)
{
    return GetZaehler() / GetNenner() &lt; otherBruch.GetZaehler() / otherBruch.GetNenner();
}

bool operator&gt;(const Bruch &amp;otherBruch)
{
    return GetZaehler() / GetNenner() &gt; otherBruch.GetZaehler() / otherBruch.GetNenner(); // Edit: Da !(this &lt; otherBruch) ja ein größer gleich und kein größer als wäre
}
</code></pre>
<p>(Wenn ich mich nicht irre, da ungetestet.) <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/1815566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815566</guid><dc:creator><![CDATA[Mizar]]></dc:creator><pubDate>Mon, 30 Nov 2009 19:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 19:54:25 GMT]]></title><description><![CDATA[<p>@Mizars Vorschlag (ok, auch beim TO ist das schon falsch):</p>
<pre><code class="language-cpp">Bruch a(3, 2); //1.5000
Bruch b(5, 3); //1.6667

bool less(a&lt;b);

assert(less); //BÄM - da less immer false sein wird
</code></pre>
<p>du wirst dir also nen anderen weg einfallen lassen, den op&lt; zu definieren...<br />
aber es ist richtig, dass man op&gt;, op&gt;= und op&lt;= über op&lt; definieren kann(so gar op== und damit auch op!= - hier weiß ich aber nicht, ob der compiler in der Regel wirklich gut genug optimiert).</p>
<pre><code>op&lt; (a, b)
{
//...
}

op&gt;= (a, b)
{
  return !op&lt; (a, b);
}

op&gt; (a, b)
{
  return op&lt; (b, a);
}

op&lt;= (a, b)
{
  return !op&gt; (a, b);
}

op== (a, b)
{
  return !(op&lt; (a, b)) &amp;&amp; !(op&gt; (a, b));
}

op!= (a, b)
{
  return !op== (a, b);
}
</code></pre>
<p>ein wenig unübersichtlich - bedingt durch meine Faulheit - hab extra nur code-tags genommen, damit du siehst, dass es keinesfalls sytaktisch korrekt ist und nur die idee verdeutlichen soll ;o)<br />
für op&lt; brauchst du trotzdem noch ne idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>bb</p>
<p>edit: oh - du hast die operatoren ja noch nicht mal als freie fkt. implementiert sondern als member Oo<br />
lies dir mal den artikel hier durch: (zumindest Teil 1 - mehr kann aber nicht schaden)<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-232010.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-232010.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815591</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 30 Nov 2009 19:54:25 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 19:55:56 GMT]]></title><description><![CDATA[<p>Wie ich sehe, bist Du, EffizientOrNot, ein Freund von nicht-statischen Elementfunktionen. In diesem Fall sind allerdings freie Funktionen eleganter:</p>
<pre><code class="language-cpp">class Bruch
{
  long z, n;      // Invariante: n&gt;=1 &amp;&amp; ggt(z,n)==1
  void kuerzen(); // stellt Invariante her
public:
  Bruch(long z=0) : z(z), n(1) {}
  Bruch(long z, long n) : z(z), n(n) {kuerzen();} 

  long zaehler()  const {return z;}
  long nenner()   const {return n;}

  long intDivision()   const {return z/n;}
  long divisionsRest() const {return z%n;}
};

bool operator&lt;(Bruch const b1, Bruch const b2)
{
  long const d1 = b1.intDivision();
  long const d2 = b2.intDivision();
  if (d1&lt;d2) return true;
  if (d1&gt;d2) return false;
  return b1.divisionsRest()*b2.nenner()
       &lt; b2.divisionsRest()*b1.nenner();
}
</code></pre>
<p>Jetzt sind folgende Aufrufe legal:</p>
<pre><code class="language-cpp">void test(Bruch a, Bruch b)
{
  a &lt; b;   // #1
  a &lt; 23;  // #2
  23 &lt; b;  // #3
}
</code></pre>
<p>In Fall #2 und #3 wird die Ganzzahl 23 zu einem Bruch dank des impliziten Konstruktors konvertiert und dann operator&lt;(Bruch,Bruch) aufgerufen. Wenn Du operator&lt; allerdings als nicht-statische Elementfunktion implementierst, wird #3 nicht funktionieren.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815596</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 30 Nov 2009 19:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 19:58:10 GMT]]></title><description><![CDATA[<p>EffizientOrNot? schrieb:</p>
<blockquote>
<p>gibts denn keinen anderen, besseren Weg?</p>
</blockquote>
<p><strong>1)</strong> Als erstes würde ich die Operatoren global machen. Es besteht kein Grund für Memberfunktionen, über <code>GetZaehler()</code> und <code>GetNenner()</code> auch von aussen auf die Attribute zugreifen kannst. Globale Funktionen erhöhen die Kapselung (weniger Funktionen haben direkten Zugriff auf private Member), im Falle der Operatoren kann eine implizite Konvertierung des ersten Elements stattfinden. Wenn du zudem plötzlich eine Überladung definierst, sodass <code>operator&lt;</code> z.B. mit <code>int</code> symmetrisch funktioniert, musst du zwangsläufig zu globalen Funktionen greifen. Siehe dazu auch <a href="http://magazin.c-plusplus.net/artikel/%DCberladung%20von%20Operatoren%20in%20CPlusPlus%20%28Teil%201%29" rel="nofollow">Operatorüberladung in C++</a>.</p>
<p><strong>2)</strong> In deinem Beispiel kann man unnötige Codeduplizierung ausserdem vermeiden, indem man bedenkt, wie relationale Operatoren durch einander ausgedrückt werden können. Es reicht, wenn du <code>operator&lt;</code> und <code>operator==</code> vollständig implementierst.</p>
<pre><code class="language-cpp">bool operator&gt; (const Bruch&amp; lhs, const Bruch&amp; rhs)
{
    return rhs &lt; lhs;
}

bool operator&lt;= (const Bruch&amp; lhs, const Bruch&amp; rhs)
{
    return !(rhs &lt; lhs);
}

bool operator&gt;= (const Bruch&amp; lhs, const Bruch&amp; rhs)
{
    return !(lhs &lt; rhs);
}

bool operator!= (const Bruch&amp; lhs, const Bruch&amp; rhs)
{
    return !(lhs == rhs);
}
</code></pre>
<p><strong>3)</strong> Unter der Annahme, dass <code>GetZaehler()</code> und <code>GetNenner()</code> integrale Werte zurückgeben, sind deine Vergleichsfunktionen schlecht implementiert, da durch die Integer-Divisionen Informationen verloren gehen. Bedenke, dass bei Integer-Typen beispielsweise die Identität <code>5/2 == 4/2</code> zu <code>true</code> evaluiert. Du müsstest also mindestens einen der Divisionsoperanden vor der Operation casten.</p>
<p><strong>4)</strong> Performancetechnisch betrachtet wäre es wahrscheinlich schneller, du würdest die Division in eine Multiplikation umwandeln (Gleichung <code>a/b &gt; c/d</code> zu <code>a*d &gt; c*b</code> umformen, Vorzeichen beachten). Damit bräuchtest du auch keine Fliesskommatypen. Allerdings besteht die Gefahr eines Overflows.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815597</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 30 Nov 2009 19:58:10 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:02:54 GMT]]></title><description><![CDATA[<p>Danke Vielmal für die vielen hilfreichen Informationen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815604</guid><dc:creator><![CDATA[EffizientOrNot?]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:02:54 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:04:32 GMT]]></title><description><![CDATA[<blockquote>
<p>Es reicht, wenn du operator&lt; und operator== vollständig implementierst.</p>
</blockquote>
<p>Das kann keiner wissen. Manchmal hat man keine so sauberen Ordnungen, zB in IEEE 754. Da ist <code>x &lt; NaN</code> falsch, aber auch <code>NaN &lt;= x</code> . In solchen Fällen muss man mindestens operator&lt; und operator== und operator&lt;= festlegen.<br />
<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/1815607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815607</guid><dc:creator><![CDATA[µngbd]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:04:32 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:19:21 GMT]]></title><description><![CDATA[<p>Habe mal den Artikel durchgeblättert und weiss nun weshalb ich freie Funktionen verwenden sollte.</p>
<p>Doch wie kann ich eine freie Funktion machen, die entweder zwei Objekte Bruch oder ein Bruch und Int nimmt??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815619</guid><dc:creator><![CDATA[EffizientOrNot?]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:19:21 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:25:42 GMT]]></title><description><![CDATA[<p>EffizientOrNot? schrieb:</p>
<blockquote>
<p>Doch wie kann ich eine freie Funktion machen, die entweder zwei Objekte Bruch oder ein Bruch und Int nimmt??</p>
</blockquote>
<p>Indem du sie einfach so definierst? Da wird dann schon die passende Funktion aufgerufen. Dazu solltest du aber vlt. noch den Konstruktor von Bruch <code>explicit</code> machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815622</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:25:42 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:29:23 GMT]]></title><description><![CDATA[<p>Das bedeutet ich schreibe für jeden Operator zwei Funktionen?</p>
<p>Nämlich eine für zwei Brueche und eine für Bruch und ein Template für int, float, etc.?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815624</guid><dc:creator><![CDATA[EffizientOrNot?]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:29:23 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:32:48 GMT]]></title><description><![CDATA[<p>µngbd schrieb:</p>
<blockquote>
<blockquote>
<p>Es reicht, wenn du operator&lt; und operator== vollständig implementierst.</p>
</blockquote>
<p>Das kann keiner wissen. Manchmal hat man keine so sauberen Ordnungen, zB in IEEE 754. Da ist <code>x &lt; NaN</code> falsch, aber auch <code>NaN &lt;= x</code> . In solchen Fällen muss man mindestens operator&lt; und operator== und operator&lt;= festlegen.<br />
<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>
</blockquote>
<p>nexus' punkt fing ja nun auch an mit &quot;in deinem beispiel&quot;... das das nicht immer der fall ist, sollte klar sein...<br />
dein vergleich is btw doof gewählt - lässt sich immernoch mit nem early return lösen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a>:<br />
hier würde ich den ctor aber nicht <code>explicit</code> machen - oder hast du irgend nen argument für die nicht implizite typumwandlung?</p>
<p>@EffizientOrNot?:<br />
&quot;Nämlich eine für zwei Brueche und eine für Bruch und ein Template für int, float, etc.?&quot;<br />
nö... du bietest entsprechende nicht-explizite konstruktoren an und brauchst dann nur noch einen einzigen op&lt; zu implementieren(nämlich einen, der 2 brüche vergleicht)...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815627</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:32:48 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:35:34 GMT]]></title><description><![CDATA[<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a>:<br />
hier würde ich den ctor aber nicht explicit machen - oder hast du irgend nen argument für die nicht implizite typumwandlung?</p>
</blockquote>
<p>Ich dachte er wollte das eben genau nicht, sondern eben verschiedene Funktionen. Aber dem fall will er das ja doch nicht, dann können wir den ctor ohne explicit lassen.</p>
<p>@EffizientOrNot:<br />
Wenn du den ctor so lässt, dann wird die Umwandlung eines integers in einen Bruch automatisch gemacht und du musst nix spezielles machen. Ein Bruch mit floats/doubles drin macht imo überhaupt keinen Sinn (denk da mal drüber nach). <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/1815629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815629</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:35:34 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:44:08 GMT]]></title><description><![CDATA[<p>Das ist ja total cool.</p>
<p>Heisst das, sobald ich ein Integer zu meiner Operator-Funktion schicke, obwohl dort ein Bruch erwartet wird, wird dieser Integer als Argument an meine Bruch Klasse geschickt?</p>
<p>Oder wieso funktioniert das x_X?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815634</guid><dc:creator><![CDATA[EffizientOrNot?]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 20:49:37 GMT]]></title><description><![CDATA[<p>Ja, weil du im Konstruktor von Bruch ja sagst, dass ein integer in einen Bruch &quot;umgewandelt&quot; werden kann. Das macht ja auch schon rein mathematisch einen Sinn, weil du ja überall, wo ein Bruch erwartet wird einfach die Zahl/1 übergeben kannst. Ist ja ein völlig korrekter Bruch und entspricht auch immer noch der gleichen Zahl. Das schöne ist auch, dass du jetzt zuerst einen integer und dann einen Bruch schreiben kannst (was nicht möglich wäre, wenn die Funktion nicht frei implementier worden wäre).</p>
<p>Das sollte aber alles im verlinkten Artikel über Überladung genannt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815636</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 30 Nov 2009 20:49:37 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 21:02:34 GMT]]></title><description><![CDATA[<p>EffizientOrNot? schrieb:</p>
<blockquote>
<p>Das ist ja total cool.</p>
<p>Heisst das, sobald ich ein Integer zu meiner Operator-Funktion schicke, obwohl dort ein Bruch erwartet wird, wird dieser Integer als Argument an meine Bruch Klasse geschickt?</p>
</blockquote>
<p>Hast Du meine Antwort eigentlich gelesen?</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815648</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 30 Nov 2009 21:02:34 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Overloading - Effizient oder Nicht? on Mon, 30 Nov 2009 21:13:44 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>EffizientOrNot? schrieb:</p>
<blockquote>
<p>Das ist ja total cool.</p>
<p>Heisst das, sobald ich ein Integer zu meiner Operator-Funktion schicke, obwohl dort ein Bruch erwartet wird, wird dieser Integer als Argument an meine Bruch Klasse geschickt?</p>
</blockquote>
<p>Hast Du meine Antwort eigentlich gelesen?</p>
<p>Gruß,<br />
SP</p>
</blockquote>
<p>Natürlich! Es hat mir nun gleich das Aha-Erlebnis gegeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> (Mit dem Post von drakor D:)</p>
<p>Vielen Dank an Alle, habt mir echt geholfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f628.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--fearful_face"
      title="D:"
      alt="😨"
    /></p>
<p>Bye Bye <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/1815653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815653</guid><dc:creator><![CDATA[EffizientOrNot?]]></dc:creator><pubDate>Mon, 30 Nov 2009 21:13:44 GMT</pubDate></item></channel></rss>