<?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[Contructor verspätet aufrufen]]></title><description><![CDATA[<p>Hallo!</p>
<p>Hab folgenden Code</p>
<pre><code class="language-cpp">class Living : public InteractiveSprite {
private:
	ESpecies Species;
public:

	Living(ESpecies Species, /* mehr Paramter */) : InteractiveSprite(AnimationFilename, /* mehr Paramter */) { //Der Konstruktor erwartet schon beim Initialiseren den Paramter AnimationFilename, den weiß ich aber noch nicht...
		if(Species==eRabbit) InteractiveSprite(&quot;Images\\Rabbt.ani&quot;, /* mehr Paramter */); //Irgendwie so würde ich es gerne aufrufen
	}

	//Mehr Methoden
};
</code></pre>
<p>Nun würde ich gerne den Konstruktor von InteractiveSprite nicht in der Initalisierungliste aufrufen, bzw. ich möchte schon allerdings möchte ich den Wert von AnimationFilename erst im Konstruktor von Living festlegen.</p>
<p>Danke! :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296897/contructor-verspätet-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 17:08:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296897.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Dec 2011 18:02:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Contructor verspätet aufrufen on Wed, 14 Dec 2011 18:02:23 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Hab folgenden Code</p>
<pre><code class="language-cpp">class Living : public InteractiveSprite {
private:
	ESpecies Species;
public:

	Living(ESpecies Species, /* mehr Paramter */) : InteractiveSprite(AnimationFilename, /* mehr Paramter */) { //Der Konstruktor erwartet schon beim Initialiseren den Paramter AnimationFilename, den weiß ich aber noch nicht...
		if(Species==eRabbit) InteractiveSprite(&quot;Images\\Rabbt.ani&quot;, /* mehr Paramter */); //Irgendwie so würde ich es gerne aufrufen
	}

	//Mehr Methoden
};
</code></pre>
<p>Nun würde ich gerne den Konstruktor von InteractiveSprite nicht in der Initalisierungliste aufrufen, bzw. ich möchte schon allerdings möchte ich den Wert von AnimationFilename erst im Konstruktor von Living festlegen.</p>
<p>Danke! :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2156943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2156943</guid><dc:creator><![CDATA[JJ]]></dc:creator><pubDate>Wed, 14 Dec 2011 18:02:23 GMT</pubDate></item><item><title><![CDATA[Reply to Contructor verspätet aufrufen on Wed, 14 Dec 2011 18:11:58 GMT]]></title><description><![CDATA[<p>Beim Ableiten den Basisklassen-Ctor verspätet aufrufen geht nicht.</p>
<p>Bei Composition könnte man tricksen (boost::optional, scoped_ptr).</p>
<p>Du kannst aber eine Hilfsfunktion schreiben, die dir aus den Ctor-Parametern den erwünschten Parameter ausrechnet:</p>
<pre><code class="language-cpp">static std::string MakeAnimationFilename(ESpecies Species)
    {
        switch (Species)
        {
        ...
        }
    }

    Living(ESpecies Species, /* mehr Paramter */) : InteractiveSprite(MakeAnimationFilename(Species), /* mehr Paramter */)
    { 
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2156947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2156947</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 14 Dec 2011 18:11:58 GMT</pubDate></item><item><title><![CDATA[Reply to Contructor verspätet aufrufen on Wed, 14 Dec 2011 18:15:22 GMT]]></title><description><![CDATA[<p>Hilfsfunktion...<br />
Hätte ich auch drauf kommen können.<br />
Dankeschön!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2156948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2156948</guid><dc:creator><![CDATA[JJ]]></dc:creator><pubDate>Wed, 14 Dec 2011 18:15:22 GMT</pubDate></item></channel></rss>