<?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 Konstruktor einer Klasse im Konstruktor einer anderen Klasse aufrufen?]]></title><description><![CDATA[<p>Hallo,<br />
Sorry erstmal für den Titel falls ein Moderator einen besseren hat bitte ändern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
also ich habe folgendes.</p>
<pre><code>class cSEdit
{
private:
...
	class CDatabase db;
	class CRecordset record;
...
}
</code></pre>
<p>Nun will ich im Konstruktor von cSEdit den Konstruktor von record aufrufen um ihm db zu übergeben aber wie mach ich das?<br />
Also in der MSDN steht noch folgendes:</p>
<blockquote>
<p>Note A derived class must supply its own constructor. In the constructor of your derived class, call the constructor CRecordset::CRecordset, passing the appropriate parameters along to it.</p>
</blockquote>
<p>Leider kann ich damit nicht viel anfangen.<br />
mit record.CRecordset(db); bekomm ich nen Fehler.<br />
Sorry für die dumme Frage bin noch nicht so firm in Klassen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>MfG schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146974/den-konstruktor-einer-klasse-im-konstruktor-einer-anderen-klasse-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 20:31:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146974.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 May 2006 13:44:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Den Konstruktor einer Klasse im Konstruktor einer anderen Klasse aufrufen? on Fri, 12 May 2006 13:44:10 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Sorry erstmal für den Titel falls ein Moderator einen besseren hat bitte ändern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
also ich habe folgendes.</p>
<pre><code>class cSEdit
{
private:
...
	class CDatabase db;
	class CRecordset record;
...
}
</code></pre>
<p>Nun will ich im Konstruktor von cSEdit den Konstruktor von record aufrufen um ihm db zu übergeben aber wie mach ich das?<br />
Also in der MSDN steht noch folgendes:</p>
<blockquote>
<p>Note A derived class must supply its own constructor. In the constructor of your derived class, call the constructor CRecordset::CRecordset, passing the appropriate parameters along to it.</p>
</blockquote>
<p>Leider kann ich damit nicht viel anfangen.<br />
mit record.CRecordset(db); bekomm ich nen Fehler.<br />
Sorry für die dumme Frage bin noch nicht so firm in Klassen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>MfG schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056483</guid><dc:creator><![CDATA[schirrmie]]></dc:creator><pubDate>Fri, 12 May 2006 13:44:10 GMT</pubDate></item><item><title><![CDATA[Reply to Den Konstruktor einer Klasse im Konstruktor einer anderen Klasse aufrufen? on Fri, 12 May 2006 13:58:16 GMT]]></title><description><![CDATA[<p>Das funktioniert über eine sogenannte Initialisierungsliste nach dem Konstruktornamen:</p>
<pre><code class="language-cpp">class cSEdit
{
private:
    CDatabase db;
    CRecordset record;
public:
    cSEdit() : db(10,201), record(db)
    {
        //tue andere Sachen
    }
};
</code></pre>
<p>P.S.: Das &quot;class&quot; vor deinen Typen kannst du weglassen.</p>
<p>/edit: Ich hab deine Frage nochmal genau gelesen und meinen Quellcode leicht modifiziert. Ich bin mir jetzt nicht sicher, ob die Initialisierungsreihenfolge definiert ist. Also ob gewährleistet ist, dass db(...) vor record(...) aufgerufen wird. Sollte das nicht der Fall sein, so bleibt dir wohl nur die Möglichkeit aus db und record Zeiger zu machen und diese dann erst im Konstruktor selber zu initialisieren.</p>
<p>Dein zitierter Text bezieht sich übrigens nur auf den Fall, falls du von einem CRecordset ableiten willst. &quot;derived&quot; heißt in dem Fall abgeleitet.</p>
<pre><code class="language-cpp">class DerivedClass : CRecordset
{
public:
    DerivedClass() : CRecordset(...)
    {
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1056494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056494</guid><dc:creator><![CDATA[cin]]></dc:creator><pubDate>Fri, 12 May 2006 13:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to Den Konstruktor einer Klasse im Konstruktor einer anderen Klasse aufrufen? on Fri, 12 May 2006 13:53:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>erstmal das hier</p>
<pre><code class="language-cpp">class cSEdit
{
private:
...
    CDatabase db;
    CRecordset record;
public:
    cSEdit(const CDatabase&amp; d) : db(d), record(d) // Such mal nach Initialisierungsliste
    {
// was du sonst noch machen willst
    } 
...
}
</code></pre>
<p>Das Zitat aus der MSN passt hier irgendwie nicht. Du hast doch cSEdit von nichts abgeleitet.</p>
<p>[edit] oder so wie oben[edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056498</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 12 May 2006 13:53:59 GMT</pubDate></item></channel></rss>