<?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[Leeren Konstruktor aufrufen bei Vererbung aufrufen]]></title><description><![CDATA[<p>Folgendes Beispiel (siehe Kommentare):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Mammal
{
    public:
    Mammal();
    ~Mammal();
    inline virtual void Speak() const {cout &lt;&lt; &quot;Mammal spricht\n&quot;;}

    private:
    int m_Age;
};

Mammal::Mammal()
:m_Age(12)
{
    cout &lt;&lt; &quot;Mammal Konstruktor\n&quot;;
}

Mammal::~Mammal()
{
    cout &lt;&lt; &quot;Mammal Destruktor\n&quot;;
}

class Cat : public Mammal
{
    public:
    Cat();
    ~Cat();
    inline void Speak() const {cout &lt;&lt; &quot;Miau\n&quot;;}
    inline void Purr() const {cout &lt;&lt; &quot;rrrrrr\n&quot;;}

    private:
};

Cat::Cat()
:Mammal() // HIER ruf ich Mammal() auf. Wenn ich es aber weg lass gehts trotzdem? 
//Ich schätz mal dann macht das der Compiler einfach automatisch für mich? Oder gibts da nen Unterschied?
{
    cout &lt;&lt; &quot;Cat Konstruktor\n&quot;;
}

Cat::~Cat()
{
    cout &lt;&lt; &quot;Cat Destruktor\n&quot;;
}

int main()
{

    return 0;
}
</code></pre>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/192513/leeren-konstruktor-aufrufen-bei-vererbung-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 11:35:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192513.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Sep 2007 12:38:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Leeren Konstruktor aufrufen bei Vererbung aufrufen on Sat, 15 Sep 2007 12:38:04 GMT]]></title><description><![CDATA[<p>Folgendes Beispiel (siehe Kommentare):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Mammal
{
    public:
    Mammal();
    ~Mammal();
    inline virtual void Speak() const {cout &lt;&lt; &quot;Mammal spricht\n&quot;;}

    private:
    int m_Age;
};

Mammal::Mammal()
:m_Age(12)
{
    cout &lt;&lt; &quot;Mammal Konstruktor\n&quot;;
}

Mammal::~Mammal()
{
    cout &lt;&lt; &quot;Mammal Destruktor\n&quot;;
}

class Cat : public Mammal
{
    public:
    Cat();
    ~Cat();
    inline void Speak() const {cout &lt;&lt; &quot;Miau\n&quot;;}
    inline void Purr() const {cout &lt;&lt; &quot;rrrrrr\n&quot;;}

    private:
};

Cat::Cat()
:Mammal() // HIER ruf ich Mammal() auf. Wenn ich es aber weg lass gehts trotzdem? 
//Ich schätz mal dann macht das der Compiler einfach automatisch für mich? Oder gibts da nen Unterschied?
{
    cout &lt;&lt; &quot;Cat Konstruktor\n&quot;;
}

Cat::~Cat()
{
    cout &lt;&lt; &quot;Cat Destruktor\n&quot;;
}

int main()
{

    return 0;
}
</code></pre>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1365846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1365846</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 15 Sep 2007 12:38:04 GMT</pubDate></item><item><title><![CDATA[Reply to Leeren Konstruktor aufrufen bei Vererbung aufrufen on Sat, 15 Sep 2007 12:48:10 GMT]]></title><description><![CDATA[<p>Es macht nur dann einen Unterschied, wenn die betreffende Basisklasse oder der Member ein POD ist, diese werden nicht initialisiert, wenn sie nicht explizit in der Initialisierungsliste auftauchen. Für nicht-POD Klassen (und Arrays aus solchen Klassen) - wie hier - macht es keinen Unterschied, ist also eine reine Stilfrage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1365850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1365850</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 15 Sep 2007 12:48:10 GMT</pubDate></item><item><title><![CDATA[Reply to Leeren Konstruktor aufrufen bei Vererbung aufrufen on Sat, 15 Sep 2007 12:57:57 GMT]]></title><description><![CDATA[<p>Was sind POD Klassen? Hab ich noch nie gehört? Oder meinst du jetzt einfach wenn z.B. der Konstruktor von Mammal 2 Argumente hätte, das die dann natürlich initialisiert werden müssen? Weil das ist mir schon klar, dann braucht ja auch der Cat Konstruktor zwei zusaätzlich Argumente.....?<br />
Aber POD hab ich noch nie gehört :(, kans mir jemand erklären?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1365854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1365854</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 15 Sep 2007 12:57:57 GMT</pubDate></item><item><title><![CDATA[Reply to Leeren Konstruktor aufrufen bei Vererbung aufrufen on Sat, 15 Sep 2007 13:04:55 GMT]]></title><description><![CDATA[<p>FAQ:<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39495.html" rel="nofollow">Was sind Built-ins und was sind PODs?</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1365860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1365860</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 15 Sep 2007 13:04:55 GMT</pubDate></item></channel></rss>