<?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&#x27;tor problem in Base class]]></title><description><![CDATA[<p>Also theoretisch müssten die folgenden code komplierbar sein</p>
<pre><code class="language-cpp">class B
{
   public:
      B();
   protected: 
      int Bi;
};
class D : public B
{
   D();
};

D:: D()
:Bi(0)   //here fails
{
}
</code></pre>
<p>Was ist falsch hier???</p>
<p>natürlich sollte man nicht in der abgleiteten Klasse das Basis variable initialisieren, sondern durch Aufruf des Basis-Ctors, etwa:</p>
<pre><code class="language-cpp">B::B()
: Bi(0)
{
}

D:: D()
:B()  
{
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/156032/c-tor-problem-in-base-class</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 17:14:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156032.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Aug 2006 10:28:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C&#x27;tor problem in Base class on Sat, 12 Aug 2006 10:28:39 GMT]]></title><description><![CDATA[<p>Also theoretisch müssten die folgenden code komplierbar sein</p>
<pre><code class="language-cpp">class B
{
   public:
      B();
   protected: 
      int Bi;
};
class D : public B
{
   D();
};

D:: D()
:Bi(0)   //here fails
{
}
</code></pre>
<p>Was ist falsch hier???</p>
<p>natürlich sollte man nicht in der abgleiteten Klasse das Basis variable initialisieren, sondern durch Aufruf des Basis-Ctors, etwa:</p>
<pre><code class="language-cpp">B::B()
: Bi(0)
{
}

D:: D()
:B()  
{
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1115881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115881</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Sat, 12 Aug 2006 10:28:39 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x27;tor problem in Base class on Sat, 12 Aug 2006 10:58:57 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>warum stellst du eine Frage, deren Antwort du schon weißt?</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115904</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 12 Aug 2006 10:58:57 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x27;tor problem in Base class on Sat, 12 Aug 2006 11:03:21 GMT]]></title><description><![CDATA[<p>Bi ist bereits durch B::B() initialisiert worden und kann kein zweites mal initialisiert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115908</guid><dc:creator><![CDATA[...]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:03:21 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x27;tor problem in Base class on Sat, 12 Aug 2006 11:06:23 GMT]]></title><description><![CDATA[<p>eben nicht.</p>
<blockquote>
<p>natürlich sollte man nicht in der abgleiteten Klasse das Basis variable initialisieren, sondern durch Aufruf des Basis-Ctors</p>
</blockquote>
<p>man sollte so schreiben, aber nicht zwingend.<br />
Meine Frage war, wieso bei dem ersten Fall kann ich nicht compilieren?<br />
Die Syntax ist doch richtig, und bevor der C'tor der abgleiteten Klasse aufgerufen wird, wurde die Basis Klasse schon konstruktiert, d.h. die abgleitete Klasse hat den Zugriff auf die Member variablen, die in Basis klassen public od. protected definiert sind.Wieso kann ich die nicht einfach initialieren???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115910</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:06:23 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x27;tor problem in Base class on Sat, 12 Aug 2006 11:10:49 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>beim Konstruktor von D ist Bi ja schon initialisiert. Mit dem Standardkonstruktor für int. Deshalb kannst im Konstruktor von D Bi nur noch einen Wert zuweisen, aber nicht neu initialisieren.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115914</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x27;tor problem in Base class on Sat, 12 Aug 2006 11:16:36 GMT]]></title><description><![CDATA[<p>danke, es sollte so sein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115919</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:16:36 GMT</pubDate></item></channel></rss>