<?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[bruch_klasse]]></title><description><![CDATA[<p>Nabend :xmas1:</p>
<pre><code>3   ist vom Typ long.
2/4 ist vom Typ bruch.
</code></pre>
<p><em>Macht so eine Zuweisung Sinn, wenn es überhaupt möglich ist:</em><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p><strong>3 += 2/4;</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200865/bruch_klasse</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 06:05:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200865.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 Dec 2007 16:48:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bruch_klasse on Thu, 20 Dec 2007 16:48:02 GMT]]></title><description><![CDATA[<p>Nabend :xmas1:</p>
<pre><code>3   ist vom Typ long.
2/4 ist vom Typ bruch.
</code></pre>
<p><em>Macht so eine Zuweisung Sinn, wenn es überhaupt möglich ist:</em><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p><strong>3 += 2/4;</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423946</guid><dc:creator><![CDATA[*smY]]></dc:creator><pubDate>Thu, 20 Dec 2007 16:48:02 GMT</pubDate></item><item><title><![CDATA[Reply to bruch_klasse on Thu, 20 Dec 2007 16:50:13 GMT]]></title><description><![CDATA[<p>glaube eher nicht da dir long keine Nachkommastellen angibt.</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423948</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 20 Dec 2007 16:50:13 GMT</pubDate></item><item><title><![CDATA[Reply to bruch_klasse on Thu, 20 Dec 2007 16:53:44 GMT]]></title><description><![CDATA[<p>? Naja sicherlich kann man sich eine &quot;Bruch-Klasse&quot; schreiben, die Nenner und Zähler verwaltet.</p>
<p>Aja ein x / y ist genau das, was da steht. x : y, wie es in der Schule gelernt wird <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/1423950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423950</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 20 Dec 2007 16:53:44 GMT</pubDate></item><item><title><![CDATA[Reply to bruch_klasse on Thu, 20 Dec 2007 17:57:51 GMT]]></title><description><![CDATA[<p>Erstmal tnx für die schnellen Antworten.</p>
<p>Hab die Frage vllt. zu allgemein formuliert, etwas konkreter:</p>
<pre><code>long z=3;	
Bruch b1(2, 4);

// z = z + b1;
z += b1;
</code></pre>
<p>3 += 2/4, Ergebnis sind 7/2</p>
<p>Sollte/Kann z jetzt in den Typ Bruch gewandelt werden, oder ist das eher unüblich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423989</guid><dc:creator><![CDATA[*smY]]></dc:creator><pubDate>Thu, 20 Dec 2007 17:57:51 GMT</pubDate></item><item><title><![CDATA[Reply to bruch_klasse on Thu, 20 Dec 2007 18:33:30 GMT]]></title><description><![CDATA[<p>? nee in z steht danach 3 ... du kannst höchstens so machen:</p>
<pre><code class="language-cpp">fraction tmp(2, 4);
tmp += 3L;
</code></pre>
<p>dann würdest du einfach den operator+= für long überladen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424008</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 20 Dec 2007 18:33:30 GMT</pubDate></item><item><title><![CDATA[Reply to bruch_klasse on Thu, 20 Dec 2007 18:37:37 GMT]]></title><description><![CDATA[<p>#smY schrieb:</p>
<blockquote>
<p>Erstmal tnx für die schnellen Antworten.</p>
<p>Hab die Frage vllt. zu allgemein formuliert, etwas konkreter:</p>
<pre><code>long z=3;	
Bruch b1(2, 4);

// z = z + b1;
z += b1;
</code></pre>
<p>3 += 2/4, Ergebnis sind 7/2</p>
<p>Sollte/Kann z jetzt in den Typ Bruch gewandelt werden, oder ist das eher unüblich?</p>
</blockquote>
<p>Wenn ich die Frage richtig verstehe, möchtest du wissen, ob es eine gute Idee ist, als Ergebnis des += Operators einen Bruch zu erhalten an Stelle eines Verweises auf z (das seinen Inhalt nicht geändert haben dürfte). Das widerspricht in meinen Augen dem Prinzip der geringsten Überraschung.<br />
Generell erwarte ich, dass es keine Rolle spielt, ob ich:</p>
<pre><code class="language-cpp">func(foo+=bar); // oder
foo+=bar;
func(foo);
</code></pre>
<p>schreibe, das wäre dann aber der Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424012</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 20 Dec 2007 18:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to bruch_klasse on Fri, 21 Dec 2007 07:24:18 GMT]]></title><description><![CDATA[<p>Wenn du mit Brüchen arbeiten willst, solltest du auch alle Werte als Bruch definieren - zur Laufzeit kann die Variable ihren Typ nicht mehr verändern (eigentlich schon - aber diese Variante spielt hier keine Rolle), d.h. z wird auf Lebenszeit ein long bleiben - und nur ganze Zahlen verwalten können.</p>
<p>Du könntest eventuell noch ein wenig an dem operator+= schrauben (Rundung o.ä.), aber egal was du machst, wird <strong>niemals</strong> ein &quot;7/2&quot; in deinen &quot;long z;&quot; reinpassen.</p>
<p>(D)Evil schrieb:</p>
<blockquote>
<p>? nee in z steht danach 3 ... du kannst höchstens so machen:</p>
<pre><code class="language-cpp">fraction tmp(2, 4);
tmp += 3L;
</code></pre>
<p>dann würdest du einfach den operator+= für long überladen ...</p>
</blockquote>
<p>Dafür mußt du nichtmal die Rechenoperatoren überladen <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="😉"
    /> Es reicht, der Klasse fraction einen long-Ctor zu verpassen, dann wird die 3l implizit umgewandelt und kann an den &quot;internen&quot; Operator übergeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424245</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 21 Dec 2007 07:24:18 GMT</pubDate></item></channel></rss>