<?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[Vererbung - virtual function Aufruf]]></title><description><![CDATA[<p>Guten Morgen,</p>
<p>ich steh grad iwie mächtig auf dem Schlauch, denn ich bin mir sicher, es ist ganz einfach...<br />
Ich habe eine Basisklasse und eine, die davon erbt:</p>
<pre><code class="language-cpp">class test
{
public:
	test()
	{
		OnInstanceAdding();
	}
protected:
	virtual void OnInstanceAdding()
	{
		//wird aufgreufen
	}	
};

class blubb : public test
{
protected:
	void OnInstanceAdding()
	{
		//wird nicht aufgerufen...
	}
};
</code></pre>
<p>in main:</p>
<pre><code class="language-cpp">blubb b;
</code></pre>
<p>warum wird die überschriebene Funktion OnInstanceAdding in blubb nicht aufgerufen??</p>
<p>Gruß<br />
tsp</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266954/vererbung-virtual-function-aufruf</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 18:15:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266954.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 May 2010 07:37:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbung - virtual function Aufruf on Mon, 17 May 2010 07:37:45 GMT]]></title><description><![CDATA[<p>Guten Morgen,</p>
<p>ich steh grad iwie mächtig auf dem Schlauch, denn ich bin mir sicher, es ist ganz einfach...<br />
Ich habe eine Basisklasse und eine, die davon erbt:</p>
<pre><code class="language-cpp">class test
{
public:
	test()
	{
		OnInstanceAdding();
	}
protected:
	virtual void OnInstanceAdding()
	{
		//wird aufgreufen
	}	
};

class blubb : public test
{
protected:
	void OnInstanceAdding()
	{
		//wird nicht aufgerufen...
	}
};
</code></pre>
<p>in main:</p>
<pre><code class="language-cpp">blubb b;
</code></pre>
<p>warum wird die überschriebene Funktion OnInstanceAdding in blubb nicht aufgerufen??</p>
<p>Gruß<br />
tsp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898237</guid><dc:creator><![CDATA[tsp@work]]></dc:creator><pubDate>Mon, 17 May 2010 07:37:45 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung - virtual function Aufruf on Mon, 17 May 2010 07:49:47 GMT]]></title><description><![CDATA[<p>Weil zum Zeitpunkt des test()-Konstruktors nur ein test-Objekt vorliegt und noch kein blubb.<br />
Merk dir: Man ruft in Konstruktoren und Destruktoren keine virtuellen Funktionen auf!</p>
<p>// edit:<br />
Als Lösung kannst du dir eine Factory-Funktion schreiben, die erst ein Objekt instantiiert, und danach die virtuelle(n) Funktion(en), die zum Initialisieren notwendig sind, aufruft, und das Objekt dann natürlich zurückgibt. So gehst du sicher, dass das Objekt korrekt initialisiert ist, und vermeidest virtuelle Funktionen im Konstruktor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898240</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Mon, 17 May 2010 07:49:47 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung - virtual function Aufruf on Mon, 17 May 2010 07:49:15 GMT]]></title><description><![CDATA[<p>AAah, ja logo, mann, Montagmorgen....<br />
Dank dir <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898242</guid><dc:creator><![CDATA[tsp@work]]></dc:creator><pubDate>Mon, 17 May 2010 07:49:15 GMT</pubDate></item></channel></rss>