<?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[[erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern]]></title><description><![CDATA[<p>Hallo,</p>
<p>nach Foren-/Google-Suche habe ich nicht wirklich mein Problem,<br />
geschweige denn eine Lösung gefunden. Deshalb jetzt meine Anmeldung hier im Forum.</p>
<p>Ich hätte gerne die netten Funktionalitäten der Rationalen Zahlen aus den Boost-Bibliotheken genutzt, wie z.B. die dort definierten Operatoren.<br />
Mir fehlt allerdings wohl noch so Einiges an Kenntnis/Erfahrung in C++.<br />
Der naive Ansatz</p>
<pre><code>class c_rat : public boost::rational&lt;int&gt; {

   public:
      c_rat(int n, int d) {};
      ...
}
</code></pre>
<p>funktioniert leider nicht wie gewünscht.</p>
<p>Der spezielle Konstruktor der Basisklasse wird nicht aufgerufen.<br />
(Ohne Erweiterung ist z.B folgendes möglich:</p>
<pre><code>...
boost::rational&lt;int&gt; r(1,2);
boost::rational&lt;int&gt; s(2,3);
boost::rational&lt;int&gt; t = r + s;
...
</code></pre>
<p>mit Ergebnis t=7/6)<br />
Stattdessen wird nur der Standardkonstruktor von boost::rational&lt;int&gt; aufgerufen.</p>
<p>Kann wer mein Problem verstehen? Hat wer eine Idee?</p>
<p>Vielen Dank für die Aufmerksamkeit,<br />
azuresky</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/272365/erledigt-wg-unsinn-boost-rational-lt-int-gt-erweitern</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 22:18:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272365.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Aug 2010 12:48:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 15:12:32 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>nach Foren-/Google-Suche habe ich nicht wirklich mein Problem,<br />
geschweige denn eine Lösung gefunden. Deshalb jetzt meine Anmeldung hier im Forum.</p>
<p>Ich hätte gerne die netten Funktionalitäten der Rationalen Zahlen aus den Boost-Bibliotheken genutzt, wie z.B. die dort definierten Operatoren.<br />
Mir fehlt allerdings wohl noch so Einiges an Kenntnis/Erfahrung in C++.<br />
Der naive Ansatz</p>
<pre><code>class c_rat : public boost::rational&lt;int&gt; {

   public:
      c_rat(int n, int d) {};
      ...
}
</code></pre>
<p>funktioniert leider nicht wie gewünscht.</p>
<p>Der spezielle Konstruktor der Basisklasse wird nicht aufgerufen.<br />
(Ohne Erweiterung ist z.B folgendes möglich:</p>
<pre><code>...
boost::rational&lt;int&gt; r(1,2);
boost::rational&lt;int&gt; s(2,3);
boost::rational&lt;int&gt; t = r + s;
...
</code></pre>
<p>mit Ergebnis t=7/6)<br />
Stattdessen wird nur der Standardkonstruktor von boost::rational&lt;int&gt; aufgerufen.</p>
<p>Kann wer mein Problem verstehen? Hat wer eine Idee?</p>
<p>Vielen Dank für die Aufmerksamkeit,<br />
azuresky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940581</guid><dc:creator><![CDATA[azuresky]]></dc:creator><pubDate>Mon, 16 Aug 2010 15:12:32 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 12:55:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class c_rat : public boost::rational&lt;int&gt; {

   public:
      c_rat(int n, int d):boost::rational&lt;int&gt;(n,d){};
      ...
}
</code></pre>
<p>PS: Was willst Du denn erweitern? Vermutlich ist Vererbung hier gar nicht sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940587</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 16 Aug 2010 12:55:35 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 12:54:52 GMT]]></title><description><![CDATA[<p>Welchen Zweck hat hier überhaupt die Vererbung? Geht es dir nur darum, einen kürzeren Typbezeichner zu haben? Dann tut's auch ein typedef.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940588</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 16 Aug 2010 12:54:52 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 12:57:19 GMT]]></title><description><![CDATA[<p>azuresky schrieb:</p>
<blockquote>
<p>Kann wer mein Problem verstehen? Hat wer eine Idee?</p>
</blockquote>
<p>Der technische Fehler ist, dass du in der Initialisierungsliste deiner abgeleiteten Klasse nicht den (richtigen) Konstruktor der Basisklasse aufrufst. So wie du es hast wird der default-Ctor der Basisklasse aufgerufen.</p>
<p>Der fachliche Fehler ist außerdem, dass du von einer Werte-Klasse ableitest - wozu diese normalerweise nicht konzeptioniert sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940590</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 16 Aug 2010 12:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 13:05:23 GMT]]></title><description><![CDATA[<p>Wahnsinn - mit Lichtgeschwindigkeit <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="🙂"
    /><br />
Danke!</p>
<p>Und, Mist, ich hatte diese &quot;:&quot;-Schreibweise schonmal gesehen, aber vergessen auszuprobieren (stattdessen in der Implementation so ein <strong>Schwachsinn, wie</strong></p>
<pre><code>boost::rational&lt;int&gt;::boost::rational&lt;int&gt;(n,d);
</code></pre>
<p>mit verschieden geformten Klammern an geeigneten Stellen.</p>
<p><strong>Tachions Code hat wie gewünscht funktioniert.</strong><br />
Ich habe zu dieser Schreibweise aber auf die schnelle keine Erklärung gefunden.<br />
Mag mir das nochmal wer in ein, zwei Worten beschreiben?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/2803">@MFK</a>: Ich brauch noch spezielle Zufallsgeneratoren, Ausgabefunktionen (Latex-Code, für später html-moodle-zeux), ...</p>
<p>Nochmals danke,<br />
azuresky</p>
<p>edit: Rechtschreibung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940594</guid><dc:creator><![CDATA[azuresky]]></dc:creator><pubDate>Mon, 16 Aug 2010 13:05:23 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 13:06:14 GMT]]></title><description><![CDATA[<p>azuresky schrieb:</p>
<blockquote>
<p>Ich habe zu dieser Schreibweise, aber auf die schnelle keine Erklärung gefunden.<br />
Mag mir das nochmal wer in ein, zwei Worten beschreiben?</p>
</blockquote>
<p>ok, ein Wort: &quot;Initialisierungsliste&quot; - zweites Wort: &quot;google&quot; <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="😉"
    /><br />
Sollte dir alle Infos geben die du benötigst <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/1940596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940596</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 16 Aug 2010 13:06:14 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 13:16:19 GMT]]></title><description><![CDATA[<p>Jepp,</p>
<p>mit Hilfe des Begriffs &quot;Initialisierungsliste&quot; finde ich auch eine Erklärung per Google <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>
<p>Und, ja, es kann sein, daß eine Erweiterung hier übertrieben ist.<br />
Die Idee war halt, alles was meine Rationalen Zahlen so können müssen hübsch zu verpacken ...<br />
(So oft habe ich noch nicht &quot;produktiv&quot; gecoded - nur viel simpel gespielt)</p>
<p>Ich warte noch kurz ab, aber prinzipell kann ich dann den Titel auf &quot;gelöst&quot; setzen.</p>
<p>azuresky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940597</guid><dc:creator><![CDATA[azuresky]]></dc:creator><pubDate>Mon, 16 Aug 2010 13:16:19 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 13:35:43 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>:</p>
<p>Wahrscheinlich liegt hier tatsächlich ein &quot;fachlicher Fehler&quot; meinerseits vor<br />
und die Klasse boost::rational&lt;int&gt; ist nicht zum Ableiten konzeptioniert.</p>
<p>Bei naiver Verwendung ( &quot;c_rat t = r + s;&quot; ) gibt mir g++</p>
<pre><code>conversion from 'boost::rational&lt;int&gt;' to non-scalar type 'c_rat' requested
</code></pre>
<p>... dann muß ich eben doch alles außerhalb machen - schade, ich brauche diese Zahlen öfters mal ...</p>
<p>azuresky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940601</guid><dc:creator><![CDATA[azuresky]]></dc:creator><pubDate>Mon, 16 Aug 2010 13:35:43 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 13:40:24 GMT]]></title><description><![CDATA[<p>azuresky schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/2803">@MFK</a>: Ich brauch noch spezielle Zufallsgeneratoren, Ausgabefunktionen (Latex-Code, für später html-moodle-zeux), ...</p>
</blockquote>
<p>Hallo azuresky,</p>
<p>all dies sollte <strong>nicht</strong>(!) Teil einer Klasse Rational sein .. ich denke, das ist auch das, worauf MFK hinaus will.<br />
Das lässt sich doch problemlos mit freistehenden Funktionen realisieren - oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940605</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 16 Aug 2010 13:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt wg. unsinn] boost::rational&amp;lt;int&amp;gt; erweitern on Mon, 16 Aug 2010 15:10:48 GMT]]></title><description><![CDATA[<p>Ja, ja,</p>
<p>ich hab mein Spielzeug beiseite gelegt *seufz* *schnief*<br />
... wenn's eben schlechte(s) Konzeptionierung/Design sein soll ... nagut. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Jetzt ist alles &quot;frei&quot; definiert.</p>
<p>Vielen dank nochmals allen,</p>
<p>azuresky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940645</guid><dc:creator><![CDATA[azuresky]]></dc:creator><pubDate>Mon, 16 Aug 2010 15:10:48 GMT</pubDate></item></channel></rss>