<?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[Funktionsaufruf nach Typen]]></title><description><![CDATA[<p>Hallo,</p>
<p>die Suchfunktion hatte ich benutzt, jedoch, vllt. da es mir schwer fällt, mein Problem in wenige Worte zu fassen, erfolglos. <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="😞"
    /></p>
<p>Ich habe zwei Unterprogramme geschrieben, mit dem selben Namen – es geht um die Fakultät – einmal für double- und einmal für Integerwerte.<br />
Leider führt mein Programm immer nur die Integerfunktion aus. Hier mein Code zur Veranschaulichung:</p>
<pre><code class="language-cpp">double fakultaet (double n)
{
	double fakul1 = 1.0, fakul2 = 1.0;

	for (int counter = 1; counter &lt;= n; counter++)
	{
		fakul2 = fakul1 * counter;
		fakul1 = fakul2;
	}
	return (fakul2);
}
</code></pre>
<pre><code class="language-cpp">int fakultaet (int n)
{
	int fakul1 = 1, fakul2 = 1;

	for (int counter = 1; counter &lt;= n; counter++)
	{
		fakul2 = fakul1 * counter;

		if (fakul1 != fakul2 / counter)
		{
			return (INT_OVERFLOW);
		}
		fakul1 = fakul2;
	}
	return (fakul2);
}
</code></pre>
<p>Und hier der Case fall, mit dem ich die Funktionen benutzen möchte:</p>
<pre><code class="language-cpp">case '!':	if (ergebnis &gt;= 0.0)
		{
	            if (ganzZahl (zahl) == true)
		    {
		    ergFakul = fakultaet (ergebnis);
		    if (ergFakul == INT_OVERFLOW)
		   {
		        cout &lt;&lt; &quot;Error - Int_Overflow&quot; &lt;&lt; endl &lt;&lt; endl,
			cout &lt;&lt; ergebnis;
	       	}
		else
		{
		     ergebnis = ergFakul;				
                     cout &lt;&lt; ergebnis;
		}	
	       }
	else
	{
	       ergFakul = fakultaet (ergebnis);
	       ergebnis = ergFakul;
	       cout &lt;&lt; ergebnis;
							    }					
}
else
{
cout &lt;&lt; &quot;Fakultaet ist nur fuer positive Werte moeglich&quot; &lt;&lt; endl &lt;&lt; endl
cout &lt;&lt; ergebnis;
}
break;
</code></pre>
<p>Das Programm sollte tatsächlich anhand des Datentyps sich die entsprechende Funktion aussuche. Wie mache ich das?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/255360/funktionsaufruf-nach-typen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 02:12:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/255360.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Nov 2009 18:32:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionsaufruf nach Typen on Sun, 29 Nov 2009 18:32:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>die Suchfunktion hatte ich benutzt, jedoch, vllt. da es mir schwer fällt, mein Problem in wenige Worte zu fassen, erfolglos. <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="😞"
    /></p>
<p>Ich habe zwei Unterprogramme geschrieben, mit dem selben Namen – es geht um die Fakultät – einmal für double- und einmal für Integerwerte.<br />
Leider führt mein Programm immer nur die Integerfunktion aus. Hier mein Code zur Veranschaulichung:</p>
<pre><code class="language-cpp">double fakultaet (double n)
{
	double fakul1 = 1.0, fakul2 = 1.0;

	for (int counter = 1; counter &lt;= n; counter++)
	{
		fakul2 = fakul1 * counter;
		fakul1 = fakul2;
	}
	return (fakul2);
}
</code></pre>
<pre><code class="language-cpp">int fakultaet (int n)
{
	int fakul1 = 1, fakul2 = 1;

	for (int counter = 1; counter &lt;= n; counter++)
	{
		fakul2 = fakul1 * counter;

		if (fakul1 != fakul2 / counter)
		{
			return (INT_OVERFLOW);
		}
		fakul1 = fakul2;
	}
	return (fakul2);
}
</code></pre>
<p>Und hier der Case fall, mit dem ich die Funktionen benutzen möchte:</p>
<pre><code class="language-cpp">case '!':	if (ergebnis &gt;= 0.0)
		{
	            if (ganzZahl (zahl) == true)
		    {
		    ergFakul = fakultaet (ergebnis);
		    if (ergFakul == INT_OVERFLOW)
		   {
		        cout &lt;&lt; &quot;Error - Int_Overflow&quot; &lt;&lt; endl &lt;&lt; endl,
			cout &lt;&lt; ergebnis;
	       	}
		else
		{
		     ergebnis = ergFakul;				
                     cout &lt;&lt; ergebnis;
		}	
	       }
	else
	{
	       ergFakul = fakultaet (ergebnis);
	       ergebnis = ergFakul;
	       cout &lt;&lt; ergebnis;
							    }					
}
else
{
cout &lt;&lt; &quot;Fakultaet ist nur fuer positive Werte moeglich&quot; &lt;&lt; endl &lt;&lt; endl
cout &lt;&lt; ergebnis;
}
break;
</code></pre>
<p>Das Programm sollte tatsächlich anhand des Datentyps sich die entsprechende Funktion aussuche. Wie mache ich das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815089</guid><dc:creator><![CDATA[Brini]]></dc:creator><pubDate>Sun, 29 Nov 2009 18:32:00 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsaufruf nach Typen on Sun, 29 Nov 2009 18:37:48 GMT]]></title><description><![CDATA[<p>Kommt halt drau an, was 'ergebnis' für einen Typen hat. Lass mich raten. Er hat Typ <code>int</code> . <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/1815091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815091</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 29 Nov 2009 18:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsaufruf nach Typen on Sun, 29 Nov 2009 18:40:10 GMT]]></title><description><![CDATA[<p>danke für die Antwort.</p>
<p>Allerdings ist mein ergebnis ein double Wert. <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815092</guid><dc:creator><![CDATA[Brini]]></dc:creator><pubDate>Sun, 29 Nov 2009 18:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsaufruf nach Typen on Sun, 29 Nov 2009 18:44:29 GMT]]></title><description><![CDATA[<p>Wie kommmst du drauf, dass die integer Version aufgerufen wird?</p>
<p>Klar wird immer die gleiche Version aufgerufen. Du überibst ja immer den gleichen Typen..</p>
<p>Zeig doch mal bitte ein lauffähiges kleines Beispiel. Denn ohne andere Details zu kennen können wir nur raten..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815097</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 29 Nov 2009 18:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsaufruf nach Typen on Sun, 29 Nov 2009 18:45:31 GMT]]></title><description><![CDATA[<p>Du mußt dann explizit den Parameter in int wandeln:</p>
<pre><code class="language-cpp">ergFakul = fakultaet (static_cast&lt;int&gt;(ergebnis));
</code></pre>
<p>Aber welchen Sinn macht eine double-Fakultät-Funktion?</p>
<p>Und zwei Variablen innerhalb der Fakultät-Schleife brauchst du auch nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815098</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 29 Nov 2009 18:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsaufruf nach Typen on Sun, 29 Nov 2009 18:50:53 GMT]]></title><description><![CDATA[<p>Danke Th69, das probiere ich gleich aus. Der Sinn ist selbstzweck, halt die Aufgabenstellung. <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 />
Ich denke es geht eben um die Typunterscheidung.=)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815101</guid><dc:creator><![CDATA[brini]]></dc:creator><pubDate>Sun, 29 Nov 2009 18:50:53 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsaufruf nach Typen on Sun, 29 Nov 2009 18:59:24 GMT]]></title><description><![CDATA[<p>Immer noch kein Erfolg, meine Double-Funktion wird weiterhin fies ignoriert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815104</guid><dc:creator><![CDATA[brini]]></dc:creator><pubDate>Sun, 29 Nov 2009 18:59:24 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsaufruf nach Typen on Sun, 29 Nov 2009 19:06:36 GMT]]></title><description><![CDATA[<p>Th69 castet ja auf int. Dann caste halt auf double..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1815108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1815108</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 29 Nov 2009 19:06:36 GMT</pubDate></item></channel></rss>