<?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[Grundlagenfrage Vererbung]]></title><description><![CDATA[<p>Hi,</p>
<p>man verzeihe mir die sicher dumme Frage zur Vererbung unter C++, aber ich komme aus der Java-Welt und stelle nur gerade fest, dass etwas in C++ nicht zu gehen scheint, was in problemlos Java klappt:</p>
<p>Ich habe eine Basisklasse ABase und eine Klasse ANotBase, die von ABase erbt. Beide haben eine Methode doIt().</p>
<p>Des weiteren habe ich eine Variable my_aBase vom Typ *ABase, die ich aber mit my_aBase=new ANotBase() anlege (also die übergeordnete Klasse).</p>
<p>Wenn ich jetzt allerdings my_aBase-&gt;doIt() aufrufe, lande ich niemals in der entsprechenden Methode von ANotBase sondern immer in ABase obwohl my_ABase eigentlich ein Objekt vom Typ ANotBase ist. Erst mit einem expliziten Cast ((ANotBase*)my_aBase)-&gt;doIt() funktioniert es.</p>
<p>Das kann doch eigentlich nicht sein, dass C++ diese einfache Funktionalität nicht bietet, Methoden der übergeorndeten Klasse aufzurufen? Was mache ich hier also falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/127228/grundlagenfrage-vererbung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 00:17:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127228.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Nov 2005 14:25:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Grundlagenfrage Vererbung on Tue, 22 Nov 2005 14:25:19 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>man verzeihe mir die sicher dumme Frage zur Vererbung unter C++, aber ich komme aus der Java-Welt und stelle nur gerade fest, dass etwas in C++ nicht zu gehen scheint, was in problemlos Java klappt:</p>
<p>Ich habe eine Basisklasse ABase und eine Klasse ANotBase, die von ABase erbt. Beide haben eine Methode doIt().</p>
<p>Des weiteren habe ich eine Variable my_aBase vom Typ *ABase, die ich aber mit my_aBase=new ANotBase() anlege (also die übergeordnete Klasse).</p>
<p>Wenn ich jetzt allerdings my_aBase-&gt;doIt() aufrufe, lande ich niemals in der entsprechenden Methode von ANotBase sondern immer in ABase obwohl my_ABase eigentlich ein Objekt vom Typ ANotBase ist. Erst mit einem expliziten Cast ((ANotBase*)my_aBase)-&gt;doIt() funktioniert es.</p>
<p>Das kann doch eigentlich nicht sein, dass C++ diese einfache Funktionalität nicht bietet, Methoden der übergeorndeten Klasse aufzurufen? Was mache ich hier also falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/924395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/924395</guid><dc:creator><![CDATA[Elmi]]></dc:creator><pubDate>Tue, 22 Nov 2005 14:25:19 GMT</pubDate></item><item><title><![CDATA[Reply to Grundlagenfrage Vererbung on Tue, 22 Nov 2005 14:32:34 GMT]]></title><description><![CDATA[<p>In C++ musst du die Methode explizit als virtual deklarieren.<br />
etwa so:</p>
<pre><code class="language-cpp">class Base
{
public:
   virtual void doIt();
};

class Derived
{
public:
   virtual void doIt();
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/924405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/924405</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Tue, 22 Nov 2005 14:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to Grundlagenfrage Vererbung on Tue, 22 Nov 2005 14:47:13 GMT]]></title><description><![CDATA[<p>Ah...und wie bringe ich ihn innerhalb von doIt() dazu, dann auch noch die übergeordnete Methode auszuführen? super() gibts jascheinbar auch nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/924424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/924424</guid><dc:creator><![CDATA[Elmi]]></dc:creator><pubDate>Tue, 22 Nov 2005 14:47:13 GMT</pubDate></item><item><title><![CDATA[Reply to Grundlagenfrage Vererbung on Tue, 22 Nov 2005 14:51:34 GMT]]></title><description><![CDATA[<p>Müsste so</p>
<pre><code class="language-cpp">Base::doIt ()
</code></pre>
<p>gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/924430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/924430</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 22 Nov 2005 14:51:34 GMT</pubDate></item></channel></rss>