<?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[Den Code des überladenen Konstruktors wiederverwenden?]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich kann ein wenig Java und versuche mich jetzt an C++.<br />
Aus Java kenne ich es so, dass man beim überladen von Konstruktoren nicht immer alles zweimal hinschreiben muss, ich kann zB in ner Klasse &quot;Konto&quot; sowas machen:</p>
<pre><code class="language-java">...
public Konto(int kontostand)
{
  _kontostand = kontostand;
}

public Konto()
{
  Konto(0);
}
...
</code></pre>
<p>Ich hoffe der Code war jetzt korrekt, ich habe lange kein Java mehr benutzt.<br />
Ist sowas auch in C++ möglich?<br />
Wenn ich da sowas probiere:</p>
<pre><code class="language-cpp">...
CKonto::CKonto()
{
  CKonto(0);
}

CKonto::CKonto(int betrag)
{
  _kontostand = betrag;
}
...
</code></pre>
<p>...gibts zwar keine Fehlermeldung, aber wenn ich mir dann ein Objekt mit CKonto erstelle ist da nur irgendwas in _kontostand, aber nicht 0.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/229673/den-code-des-überladenen-konstruktors-wiederverwenden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 18:13:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229673.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Dec 2008 08:53:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Den Code des überladenen Konstruktors wiederverwenden? on Mon, 15 Dec 2008 08:53:58 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich kann ein wenig Java und versuche mich jetzt an C++.<br />
Aus Java kenne ich es so, dass man beim überladen von Konstruktoren nicht immer alles zweimal hinschreiben muss, ich kann zB in ner Klasse &quot;Konto&quot; sowas machen:</p>
<pre><code class="language-java">...
public Konto(int kontostand)
{
  _kontostand = kontostand;
}

public Konto()
{
  Konto(0);
}
...
</code></pre>
<p>Ich hoffe der Code war jetzt korrekt, ich habe lange kein Java mehr benutzt.<br />
Ist sowas auch in C++ möglich?<br />
Wenn ich da sowas probiere:</p>
<pre><code class="language-cpp">...
CKonto::CKonto()
{
  CKonto(0);
}

CKonto::CKonto(int betrag)
{
  _kontostand = betrag;
}
...
</code></pre>
<p>...gibts zwar keine Fehlermeldung, aber wenn ich mir dann ein Objekt mit CKonto erstelle ist da nur irgendwas in _kontostand, aber nicht 0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630632</guid><dc:creator><![CDATA[Hackfresser]]></dc:creator><pubDate>Mon, 15 Dec 2008 08:53:58 GMT</pubDate></item><item><title><![CDATA[Reply to Den Code des überladenen Konstruktors wiederverwenden? on Mon, 15 Dec 2008 09:01:43 GMT]]></title><description><![CDATA[<p>Nein, das geht so nicht. Hier wird nur ein temporäres Objekt erzeugt und gleich wieder zerstört. In diesem Fall würde aber ein Default-Argument reichen.</p>
<pre><code class="language-cpp">CKonto::CKonto(int betrag = 0) : _kontostand(betrag)
{}
</code></pre>
<p>Hier werden beide Fälle erschlagen. Wenn es komplizierter wird mußt du eine init()-Funktion erzeugen, die dann in den Konstruktoren aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630637</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 15 Dec 2008 09:01:43 GMT</pubDate></item><item><title><![CDATA[Reply to Den Code des überladenen Konstruktors wiederverwenden? on Mon, 15 Dec 2008 21:11:10 GMT]]></title><description><![CDATA[<p>Das Thema wurde gerade vor zwei Wochen besprochen: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-228635.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-228635.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1630994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1630994</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 15 Dec 2008 21:11:10 GMT</pubDate></item><item><title><![CDATA[Reply to Den Code des überladenen Konstruktors wiederverwenden? on Tue, 16 Dec 2008 09:18:55 GMT]]></title><description><![CDATA[<p>ok danke... noch ne frage: wenn ich das jetzt mit dem Default-Argument so mache, wie kann ich das dann in der Schnittstelle, also in der Header-Datei, kenntlich machen dass ich den Konstruktor auch ohne Argument aufrufen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1631097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1631097</guid><dc:creator><![CDATA[Hackfresser]]></dc:creator><pubDate>Tue, 16 Dec 2008 09:18:55 GMT</pubDate></item><item><title><![CDATA[Reply to Den Code des überladenen Konstruktors wiederverwenden? on Tue, 16 Dec 2008 09:24:24 GMT]]></title><description><![CDATA[<p>Hackfresser schrieb:</p>
<blockquote>
<p>ok danke... noch ne frage: wenn ich das jetzt mit dem Default-Argument so mache, wie kann ich das dann in der Schnittstelle, also in der Header-Datei, kenntlich machen dass ich den Konstruktor auch ohne Argument aufrufen kann?</p>
</blockquote>
<p>Dafür ist ja das Default-Argument da. Wenn nichts übergeben wird, dann wird der Wert genommen, den du dort angibst. (hier 0).</p>
<p>Allerdings würde ich empfehlen den ctor explicit zu machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1631103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1631103</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 16 Dec 2008 09:24:24 GMT</pubDate></item></channel></rss>