<?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[Zweck des Überladens]]></title><description><![CDATA[<p>Hallo zusammen,<br />
zwar verstehe ich wie ich eine Operator oder eine Funktion überladen, doch ist mir der Sinn nicht ganz klar. Wenn ich zwei Funktionen vom gleichen Namen haben will, bedeutet das doch, dass mir einfach kein anderer Name einfällt. Ich glaube nicht, dass das Überladen versucht dieses Problem zu lösen.</p>
<p>Kann mir jemand vielleicht ein Beispiel sagen, bei dem das Überladen einer Funktion wirklich relevant ist?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238243/zweck-des-überladens</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 03:27:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238243.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Apr 2009 11:12:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 11:12:15 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
zwar verstehe ich wie ich eine Operator oder eine Funktion überladen, doch ist mir der Sinn nicht ganz klar. Wenn ich zwei Funktionen vom gleichen Namen haben will, bedeutet das doch, dass mir einfach kein anderer Name einfällt. Ich glaube nicht, dass das Überladen versucht dieses Problem zu lösen.</p>
<p>Kann mir jemand vielleicht ein Beispiel sagen, bei dem das Überladen einer Funktion wirklich relevant ist?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692783</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:12:15 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 11:18:57 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/string/string/string/" rel="nofollow">http://www.cplusplus.com/reference/string/string/string/</a><br />
Schau dir doch mal alleine den Ctor von std::string an, und nun stell dir vor es würde nur die zweite Möglichkeit gegeben sein einen String zu erzeugen:</p>
<pre><code class="language-cpp">string ( const string&amp; str );
</code></pre>
<p>Was hat das zur Folge? Der Programmierer ist eingeschränkt und wäre so immer gezwungen wenn er einen String erzeugen will, ihn mit einem Wert zu füllen also meinetwegen</p>
<pre><code class="language-cpp">std::string string(&quot;&quot;);
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">std::string string(&quot;leer&quot;);
</code></pre>
<p>und das jedesmal obwohl ich vielleicht nur ein temporären string brauche. Ich hätte nicht immer die Lust auf &quot;Klammer auf&quot;,&quot;Hochkommas&quot;,&quot;eventuell ein Wert&quot;,&quot;Hochkommas&quot;,&quot;Klammer zu&quot;. Es dient einfach dazu um dem Anwender/Programmierer mehr Flexibilität zu bieten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692788</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:18:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 11:20:09 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Es liegt einfach am Komfort. Verstehe nicht, was man da nicht verstehen kann. Im späteren Code kann man sich besser orientieren, ist ja auch klar, anstatt ein paar verschiedene Funktionen aufzurufen, ruft man praktisch &quot;die gleiche&quot; auf.</p>
<p>Mfg.<br />
way</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692789</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:20:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 11:23:19 GMT]]></title><description><![CDATA[<p>way schrieb:</p>
<blockquote>
<p>anstatt ein paar verschiedene Funktionen aufzurufen, ruft man praktisch &quot;die gleiche&quot; auf.</p>
</blockquote>
<p>Oder versehentlich die falsche.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692791</guid><dc:creator><![CDATA[C++fan 2009]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:23:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 11:33:07 GMT]]></title><description><![CDATA[<p>mal abgesehen davon dass Firefighters Beispiel immernoch zwei Überladungen des Konstruktors benutzt (Copy-Ctor und <code>std::string::string(char const*)</code> ), hat das Überladen von Funktionen noch einige andere wichtige Anwendungsbereiche:<br />
- Wenn zwei Funktionen semantisch ein und dasselbe bedeuten macht es Sinn, sie auch gleich zu nennen. Die Funktionen unterscheiden sich dann meistens nur durch den Typ des Parameters, teils aber auch durch die Zahl der Parameter. Ein Beispiel ist die Methode insert() diverser STL-Container, es gibt Überladungen für den value_type, Iteratoren und Iterator-Ranges. Es ist deutlich bequemer einfach zu schreiben vec.insert(5); vec.insert(my_Iter); vec.insert(start_Iter, end_Iter); statt für jede Möglichkeit einen anderen Namen zu nehmen (insert, insertFromIterator, insertFromIteratorRange usw.), zumal schon an den Argumenten zu sehen ist, welche Version benutzt wird.<br />
- Operatoren. Wenn man die nicht überladen könnte müsste man sich für seine Rational-Klasse überlegen ob man andere Rational-Objekte addieren kann <em>oder</em> ints. Beides ginge nicht.<br />
- Templates. Wenn ich irgendwo in einem Template mit templateparameter T eine Funktion foo(t) aufrufe, wo t vom Typ T ist, dann kann der Compiler raussuchen, welche Überladung von foo angemessen ist. Ohne Überladungen würden die meisten Templates ganz einfach nicht funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692797</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:33:07 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 11:33:12 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>Oder versehentlich die falsche.</p>
</blockquote>
<p>Nein, wie sollte das passieren?</p>
<p>Mfg.<br />
way</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692798</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:33:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 11:33:25 GMT]]></title><description><![CDATA[<p>C++fan 2009 schrieb:</p>
<blockquote>
<p>Oder versehentlich die falsche.</p>
</blockquote>
<p>Da überladene Funktionen zumindest prinzipiell das Gleiche machen sollten, ist das eher unwahrscheinlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692799</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:33:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 12:01:13 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>:D Jo stimmt hast recht <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="😃"
    /> Mist:D</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692820</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Wed, 08 Apr 2009 12:01:13 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 12:23:17 GMT]]></title><description><![CDATA[<p>way schrieb:</p>
<blockquote>
<blockquote>
<p>Oder versehentlich die falsche.</p>
</blockquote>
<p>Nein, wie sollte das passieren?</p>
</blockquote>
<p>Die char Funktion soll aufgerufen werden</p>
<pre><code class="language-cpp">void f (int i)
{
  puts (&quot;int&quot;);
}

void f (char c)
{
  puts (&quot;char&quot;);
}

int main()
{
  f(9);   
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1692834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692834</guid><dc:creator><![CDATA[c++fan 2009]]></dc:creator><pubDate>Wed, 08 Apr 2009 12:23:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 12:28:26 GMT]]></title><description><![CDATA[<p>Aber du übergibst einen Int, daher wird Int ausgegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692842</guid><dc:creator><![CDATA[dgdfgf]]></dc:creator><pubDate>Wed, 08 Apr 2009 12:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 12:30:10 GMT]]></title><description><![CDATA[<p>c++fan 2009 schrieb:</p>
<blockquote>
<p>way schrieb:</p>
<blockquote>
<blockquote>
<p>Oder versehentlich die falsche.</p>
</blockquote>
<p>Nein, wie sollte das passieren?</p>
</blockquote>
<p>Die char Funktion soll aufgerufen werden</p>
<pre><code class="language-cpp">void f (int i)
{
  puts (&quot;int&quot;);
}

void f (char c)
{
  puts (&quot;char&quot;);
}

int main()
{
  f(9);   
}
</code></pre>
</blockquote>
<p>dann sag ihm doch einfach, dass du mit deinem int eigentlich ein char meinst... oder richte nicht so sinnlose Überladungen ein, wenn du es dann auch falsch verwenden willst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692844</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Wed, 08 Apr 2009 12:30:10 GMT</pubDate></item><item><title><![CDATA[Reply to Zweck des Überladens on Wed, 08 Apr 2009 13:31:43 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
vielen Dank für die zahlreichen Antworten. Ich denke, dass ich es verstanden habe und wenn es trotzdem noch Schwierigkeiten damit geben wird, dann melde ich mich wieder!</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692890</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Wed, 08 Apr 2009 13:31:43 GMT</pubDate></item></channel></rss>