<?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[c++ Verebung Aufruf des Konstuktors der Basisklasse verhindern.]]></title><description><![CDATA[<p>Hallo.</p>
<p>folgende Programmstrugktur :</p>
<pre><code class="language-cpp">class vbEngine
{
public:

	vbEngine();
	vbEngine(CDatabase &amp;db);
...
};

class vbLiga : public vbEngine
{
public:

	vbLiga(string name, int aufsteiger, int absteiger, int id);
...
};
</code></pre>
<p>ich erzeuge ein neues objekt vbEngine mit einer CDatabase instanz. in diesem konstruktor werden verschoede Objekte von vbLiga erzeugt. da diese klasse aber von vbENgine abgeleitet ist ruft sie immer den standardkonstruktor von vbEngine auf. Das ist ja auch C++ spezifisch. Das Problem : in meinem standart konstruktor werden alle datenbank objekte immer neu erzeugt. und nur im andere konstruktro ausgelesen. so nun kann man sich ja vorstellen das das nicht so ganz glatt läuft. meine frage kann man den aufruf irgendwie verhinden. meine idee wäre das der standart konstruktor nichts macht und das erzeugen, löschen und auselen durch seperate aufrufe erfolgt und nicht aus dem konstruktoren heraus. ich hoffe das war verständlich..<br />
vielene dank für eure ideen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/239165/c-verebung-aufruf-des-konstuktors-der-basisklasse-verhindern</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 14:50:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239165.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Apr 2009 07:36:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to c++ Verebung Aufruf des Konstuktors der Basisklasse verhindern. on Mon, 20 Apr 2009 07:36:19 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>folgende Programmstrugktur :</p>
<pre><code class="language-cpp">class vbEngine
{
public:

	vbEngine();
	vbEngine(CDatabase &amp;db);
...
};

class vbLiga : public vbEngine
{
public:

	vbLiga(string name, int aufsteiger, int absteiger, int id);
...
};
</code></pre>
<p>ich erzeuge ein neues objekt vbEngine mit einer CDatabase instanz. in diesem konstruktor werden verschoede Objekte von vbLiga erzeugt. da diese klasse aber von vbENgine abgeleitet ist ruft sie immer den standardkonstruktor von vbEngine auf. Das ist ja auch C++ spezifisch. Das Problem : in meinem standart konstruktor werden alle datenbank objekte immer neu erzeugt. und nur im andere konstruktro ausgelesen. so nun kann man sich ja vorstellen das das nicht so ganz glatt läuft. meine frage kann man den aufruf irgendwie verhinden. meine idee wäre das der standart konstruktor nichts macht und das erzeugen, löschen und auselen durch seperate aufrufe erfolgt und nicht aus dem konstruktoren heraus. ich hoffe das war verständlich..<br />
vielene dank für eure ideen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698441</guid><dc:creator><![CDATA[dercooleauswandere]]></dc:creator><pubDate>Mon, 20 Apr 2009 07:36:19 GMT</pubDate></item><item><title><![CDATA[Reply to c++ Verebung Aufruf des Konstuktors der Basisklasse verhindern. on Mon, 20 Apr 2009 07:37:33 GMT]]></title><description><![CDATA[<p>Falsches Forum: C++ wäre korrekt.<br />
Dein Beitrag wird bestimmt bald verschoben.<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698443</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Mon, 20 Apr 2009 07:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to c++ Verebung Aufruf des Konstuktors der Basisklasse verhindern. on Mon, 20 Apr 2009 07:39:32 GMT]]></title><description><![CDATA[<p>Oh entschuldigung . kann ich das auch alleine machen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698445</guid><dc:creator><![CDATA[dercooleauswandere]]></dc:creator><pubDate>Mon, 20 Apr 2009 07:39:32 GMT</pubDate></item><item><title><![CDATA[Reply to c++ Verebung Aufruf des Konstuktors der Basisklasse verhindern. on Mon, 20 Apr 2009 07:42:18 GMT]]></title><description><![CDATA[<blockquote>
<p>da diese klasse aber von vbENgine abgeleitet ist ruft sie immer den standardkonstruktor von vbEngine auf. Das ist ja auch C++ spezifisch</p>
</blockquote>
<p>Naja, gib halt an welchen Konstruktor der Basis Klasse aufgerufen werden soll.<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698447</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Mon, 20 Apr 2009 07:42:18 GMT</pubDate></item><item><title><![CDATA[Reply to c++ Verebung Aufruf des Konstuktors der Basisklasse verhindern. on Mon, 20 Apr 2009 07:51:51 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-18363.html" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-58.html" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698452</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 20 Apr 2009 07:51:51 GMT</pubDate></item><item><title><![CDATA[Reply to c++ Verebung Aufruf des Konstuktors der Basisklasse verhindern. on Mon, 20 Apr 2009 08:01:05 GMT]]></title><description><![CDATA[<p>dercooleauswandere schrieb:</p>
<blockquote>
<p>...da diese klasse aber von vbENgine abgeleitet ist ruft sie immer den standardkonstruktor von vbEngine auf.</p>
</blockquote>
<p>Ja, wenn du keine Initialisierungsliste verwendest ist dem so (ansonsten kannst du auch einen anderen Konstruktor verwenden). Aber grundsätzlich muss ein Konstruktor der Basisklasse (und dies ist nicht nur in C++ so) bei einer Vererbung verwendet werden. Google mal nach Initialisierungsliste (es gibt in diesem Forum schon genügend Einträge hierzu), es wäre ohnehin sinnvoll Diese zu kennen (Die eigentliche &quot;Initialisierung&quot; findet nur dort statt, alles im Konstruktorrumpf ist nur noch eine nachträgliche Zuweisung.</p>
<p>Eine weitere Alternative wäre statt einer Vererbung (die ohnehin zu Häufig verwendet wird) auf eine Komposition zu setzen (Statt &quot;ist ein&quot;, &quot;hat ein&quot; verwenden).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698457</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 20 Apr 2009 08:01:05 GMT</pubDate></item></channel></rss>