<?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[Typumwandlungskonstruktor funktioniert nicht!]]></title><description><![CDATA[<p>High!</p>
<p>Folgendes Problem:</p>
<p>Klasse für Bruchzahlen mit (unter anderem)</p>
<p>class rational<br />
{<br />
public:<br />
rational() // Standard-Konstruktor<br />
: zaehler(1), nenner(1)<br />
{}<br />
rational(long a) // Typumwandlungskonstruktor, ganze Zahl soll in<br />
// &quot;Eintel&quot;-Bruch umgewandelt werden<br />
: zaehler(a), nenner(1)<br />
{}</p>
<p>...<br />
// arithmetische Funktionen</p>
<p>...<br />
void ausgabe() const<br />
{<br />
cout &lt;&lt; zaehler &lt;&lt; &quot;/&quot; &lt;&lt; nenner &lt;&lt; endl;<br />
}<br />
... // weitere Hilfsfunktionen<br />
private:<br />
long zaehler, nenner;<br />
};</p>
<p>Trotz Typumwandlungskonstruktor bekomme ich in der main-Funktion bei ausgabe() immer die Fehlermeldung &quot;request for member 'ausgabe' in 'a' (bzw. 'b'), which is of non-aggregate type 'long int'!</p>
<p>Wie kann das sein?</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121347/typumwandlungskonstruktor-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 16:03:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121347.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Sep 2005 12:46:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Typumwandlungskonstruktor funktioniert nicht! on Thu, 22 Sep 2005 12:46:15 GMT]]></title><description><![CDATA[<p>High!</p>
<p>Folgendes Problem:</p>
<p>Klasse für Bruchzahlen mit (unter anderem)</p>
<p>class rational<br />
{<br />
public:<br />
rational() // Standard-Konstruktor<br />
: zaehler(1), nenner(1)<br />
{}<br />
rational(long a) // Typumwandlungskonstruktor, ganze Zahl soll in<br />
// &quot;Eintel&quot;-Bruch umgewandelt werden<br />
: zaehler(a), nenner(1)<br />
{}</p>
<p>...<br />
// arithmetische Funktionen</p>
<p>...<br />
void ausgabe() const<br />
{<br />
cout &lt;&lt; zaehler &lt;&lt; &quot;/&quot; &lt;&lt; nenner &lt;&lt; endl;<br />
}<br />
... // weitere Hilfsfunktionen<br />
private:<br />
long zaehler, nenner;<br />
};</p>
<p>Trotz Typumwandlungskonstruktor bekomme ich in der main-Funktion bei ausgabe() immer die Fehlermeldung &quot;request for member 'ausgabe' in 'a' (bzw. 'b'), which is of non-aggregate type 'long int'!</p>
<p>Wie kann das sein?</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877832</guid><dc:creator><![CDATA[Yadgar]]></dc:creator><pubDate>Thu, 22 Sep 2005 12:46:15 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlungskonstruktor funktioniert nicht! on Thu, 22 Sep 2005 13:48:16 GMT]]></title><description><![CDATA[<p>Kanns sein das du in main sowas machst ?</p>
<pre><code class="language-cpp">long a = 88;
a.ausgabe();
</code></pre>
<p>Dein Typumwandlungkonstruktor bedeuted AFAIK nicht viel mehr, als das bei Parametern von Fuktionen, die per value übergeben werden dieser Konstruktor benutzt wird. Z.B.</p>
<pre><code class="language-cpp">void test(rational test);
...
test(7);
das entspricht:
test (rational(7));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/877890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877890</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Thu, 22 Sep 2005 13:48:16 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlungskonstruktor funktioniert nicht! on Thu, 22 Sep 2005 14:08:36 GMT]]></title><description><![CDATA[<p>[quote=&quot;templäd&quot;]Kanns sein das du in main sowas machst ?</p>
<pre><code class="language-cpp">long a = 88;
a.ausgabe();
</code></pre>
<p>Fast... int main() ruft eine Funktion 'void druckeTestfall(rational a, rational b)' auf, von der aus wiederum die rational-Methode ausgabe() aufgerufen wird...</p>
<p>...ich probiere gerade was aus - es lag daran, dass ich, bevor ich den Typumwandlungskonstruktor hinzufügte, die o. g. Funktion druckeTestfall mehrfach für gemischte Datentypen (also rational, long bzw. long, rational) überladen hatte - und die überladenen Versionen bis jetzt nicht gelöscht hatte!</p>
<p>Trotzdem danke!</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877911</guid><dc:creator><![CDATA[Yadgar]]></dc:creator><pubDate>Thu, 22 Sep 2005 14:08:36 GMT</pubDate></item></channel></rss>