<?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[Frage zur abstrakten Klasse]]></title><description><![CDATA[<p>Morgen Gemeinde,</p>
<p>folgende Frage stellte sich mir gestern.<br />
Von einer Abstrakten Klasse kann man ja keine Instanz erzeugen.<br />
Aber was passiert hier:</p>
<pre><code class="language-cpp">class A
{
  private:
     int private_a;
  public:
      A(int a):private_a(a) {}
      virtual void irgendwas() =0;
};
</code></pre>
<pre><code class="language-cpp">class B : public A
{
   private:
     mein_b;
   public:
      B(int b):A(b),mein_b(b) {} //1. &lt;=== unten Fragestellung
   void irgendwas() {}
};
</code></pre>
<pre><code class="language-cpp">class B : public A
{
   private:
     mein_b;
   public:
      B(int b) //2. &lt;=== unten Fragestellung
      {
         A a(b); //hier würde ein Fehler komm, ist klar.
         mein_b = b;
      }
   void irgendwas() {}
};
</code></pre>
<p>1. Warum funktioniert das? Es wird ja schließlich der Ctor von A aufgerufen, aber das sollte doch nicht möglich sein wenn es eine Abstrakte Klasse ist oder geschieht in der Initialisierungsliste etwas anderes als wenn ich es so wie bei 2. schreibe?<br />
Das 2. nicht geht ist mir klar, wollte es nur zur verdeutlichung meiner Frage mit hinschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/224131/frage-zur-abstrakten-klasse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 23:08:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/224131.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Oct 2008 06:43:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zur abstrakten Klasse on Mon, 06 Oct 2008 06:43:11 GMT]]></title><description><![CDATA[<p>Morgen Gemeinde,</p>
<p>folgende Frage stellte sich mir gestern.<br />
Von einer Abstrakten Klasse kann man ja keine Instanz erzeugen.<br />
Aber was passiert hier:</p>
<pre><code class="language-cpp">class A
{
  private:
     int private_a;
  public:
      A(int a):private_a(a) {}
      virtual void irgendwas() =0;
};
</code></pre>
<pre><code class="language-cpp">class B : public A
{
   private:
     mein_b;
   public:
      B(int b):A(b),mein_b(b) {} //1. &lt;=== unten Fragestellung
   void irgendwas() {}
};
</code></pre>
<pre><code class="language-cpp">class B : public A
{
   private:
     mein_b;
   public:
      B(int b) //2. &lt;=== unten Fragestellung
      {
         A a(b); //hier würde ein Fehler komm, ist klar.
         mein_b = b;
      }
   void irgendwas() {}
};
</code></pre>
<p>1. Warum funktioniert das? Es wird ja schließlich der Ctor von A aufgerufen, aber das sollte doch nicht möglich sein wenn es eine Abstrakte Klasse ist oder geschieht in der Initialisierungsliste etwas anderes als wenn ich es so wie bei 2. schreibe?<br />
Das 2. nicht geht ist mir klar, wollte es nur zur verdeutlichung meiner Frage mit hinschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1593986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593986</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 06 Oct 2008 06:43:11 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur abstrakten Klasse on Mon, 06 Oct 2008 06:49:38 GMT]]></title><description><![CDATA[<p>Da du von A ableitest, kannst du natürlich den &quot;A-Teil&quot; von B initialisieren. Du erzeugst ja kein A-Objekt, sondern ein B-Objekt, das dann den A-Teil verwaltet und somit auch initialisieren darf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1593991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593991</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 06 Oct 2008 06:49:38 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur abstrakten Klasse on Mon, 06 Oct 2008 06:51:01 GMT]]></title><description><![CDATA[<p>Könnte ich also sagen ich erzeuge kein Objekt von meinem &quot;Gerüst&quot; sonder ich fülle das &quot;Gerüst&quot; nur mit Werten ohne es vollständig zu erzeugen?<br />
Ansonsten danke für die Antwort das hat mir geholfen <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/1593993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593993</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 06 Oct 2008 06:51:01 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur abstrakten Klasse on Mon, 06 Oct 2008 06:56:49 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p>Könnte ich also sagen ich erzeuge kein Objekt von meinem &quot;Gerüst&quot; sonder ich fülle das &quot;Gerüst&quot; nur mit Werten ohne es vollständig zu erzeugen?<br />
Ansonsten danke für die Antwort das hat mir geholfen <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>
</blockquote>
<p>Ja. In etwa so kannst du dir das vorstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1593997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593997</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 06 Oct 2008 06:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur abstrakten Klasse on Mon, 06 Oct 2008 06:57:31 GMT]]></title><description><![CDATA[<p>Ich bedanke mich <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/1593999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593999</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 06 Oct 2008 06:57:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur abstrakten Klasse on Mon, 06 Oct 2008 07:18:28 GMT]]></title><description><![CDATA[<p>Abstract heißt eben nicht exakt, dass man garkeine Instanz davon erzeugen darf, sondern es bedeutet lediglich, dass es keine eigenständige Instanz davon geben darf. Als geerbter Bestandteil einer abgeeiteten Klasse kann (und muss ja auch) ein A-Objekt existieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594003</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 06 Oct 2008 07:18:28 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur abstrakten Klasse on Mon, 06 Oct 2008 07:21:27 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Abstract heißt eben nicht exakt, dass man garkeine Instanz davon erzeugen darf, sondern es bedeutet lediglich, dass es keine eigenständige Instanz davon geben darf.</p>
</blockquote>
<p>Ok das habe ich noch nicht gewusst, danke das hat noch mehr aufgeklärt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594005</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 06 Oct 2008 07:21:27 GMT</pubDate></item></channel></rss>