<?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[(Warum) Muss Basisklasse Pointer sein?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin etwas verwirrt. Wenn ich eine Basisklasse bereitstelle mit virtuellen methoden die dann in den abgeleiteten klassen implementiert werden. Muss die Basisklasse zwingen mit Base_Class* base = NULL initialisiert werden oder könnte ich auch ein stack-objekt erstellent mit Base_Class base; ?</p>
<p>Wenn ja warum?</p>
<p>Ich dachte es würde sowas gehen:</p>
<pre><code class="language-cpp">BaseClass base;
base = Derived();
base.foo();
</code></pre>
<p>geht das nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257424/warum-muss-basisklasse-pointer-sein</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 07:31:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257424.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 Dec 2009 14:14:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to (Warum) Muss Basisklasse Pointer sein? on Mon, 28 Dec 2009 14:14:54 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin etwas verwirrt. Wenn ich eine Basisklasse bereitstelle mit virtuellen methoden die dann in den abgeleiteten klassen implementiert werden. Muss die Basisklasse zwingen mit Base_Class* base = NULL initialisiert werden oder könnte ich auch ein stack-objekt erstellent mit Base_Class base; ?</p>
<p>Wenn ja warum?</p>
<p>Ich dachte es würde sowas gehen:</p>
<pre><code class="language-cpp">BaseClass base;
base = Derived();
base.foo();
</code></pre>
<p>geht das nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828876</guid><dc:creator><![CDATA[Mati]]></dc:creator><pubDate>Mon, 28 Dec 2009 14:14:54 GMT</pubDate></item><item><title><![CDATA[Reply to (Warum) Muss Basisklasse Pointer sein? on Mon, 28 Dec 2009 14:19:17 GMT]]></title><description><![CDATA[<p>Jein. Das geht schon, hat aber nicht das Verhalten, dass du willst. Da die Basisklasse kleiner oder gleich der abgeleiteten Klassen ist, kriegst du hier ev. sogenanntes Slicing. Sprich es gehen Daten verloren. Du hast dann tatsächlich nur noch das Basisklassenobjekt.</p>
<p>Ein Zeiger hat das Problem nicht, da der nicht weiss wie gross das ist, auf das er zeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828880</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 28 Dec 2009 14:19:17 GMT</pubDate></item><item><title><![CDATA[Reply to (Warum) Muss Basisklasse Pointer sein? on Mon, 28 Dec 2009 14:23:12 GMT]]></title><description><![CDATA[<p>Öha....ok, vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828885</guid><dc:creator><![CDATA[Mati]]></dc:creator><pubDate>Mon, 28 Dec 2009 14:23:12 GMT</pubDate></item><item><title><![CDATA[Reply to (Warum) Muss Basisklasse Pointer sein? on Mon, 28 Dec 2009 14:38:55 GMT]]></title><description><![CDATA[<p>Mati schrieb:</p>
<blockquote>
<p>ich bin etwas verwirrt. Wenn ich eine Basisklasse bereitstelle mit virtuellen methoden die dann in den abgeleiteten klassen implementiert werden.</p>
</blockquote>
<p>Das kommt drauf an, ob die Basisklasse abstrakt ist. Falls ja, kannst du von ihr keine eigenständigen Objekte erstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828890</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 28 Dec 2009 14:38:55 GMT</pubDate></item></channel></rss>