<?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[Typ bei Polymorphie bestimmen]]></title><description><![CDATA[<p>Wie kann ich in folgendem Fall bestimmen, zu welchem Typ meine Variable gehört?</p>
<pre><code class="language-cpp">class Basisobjekt { ... };
class AbgeleitetA : public Basisobjekt { ... };
class AbgeleitetB : public Basisobjekt { ... };

...

Basisobjekt b = new AbgeleitetA();

if (b is AbgeleitetA)
    cout &lt;&lt; &quot;Aha!&quot;;
else if (b is AbgeleitetB)
    cout &lt;&lt; &quot;Bebe!&quot;;
else
    cout &lt;&lt; &quot;Basis!&quot;;
</code></pre>
<p>Den is-Operator gibt's in C++ ja nicht. Wie krieg ich hier den Typ raus?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/232085/typ-bei-polymorphie-bestimmen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 11:08:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/232085.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Jan 2009 14:14:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Typ bei Polymorphie bestimmen on Mon, 19 Jan 2009 14:14:58 GMT]]></title><description><![CDATA[<p>Wie kann ich in folgendem Fall bestimmen, zu welchem Typ meine Variable gehört?</p>
<pre><code class="language-cpp">class Basisobjekt { ... };
class AbgeleitetA : public Basisobjekt { ... };
class AbgeleitetB : public Basisobjekt { ... };

...

Basisobjekt b = new AbgeleitetA();

if (b is AbgeleitetA)
    cout &lt;&lt; &quot;Aha!&quot;;
else if (b is AbgeleitetB)
    cout &lt;&lt; &quot;Bebe!&quot;;
else
    cout &lt;&lt; &quot;Basis!&quot;;
</code></pre>
<p>Den is-Operator gibt's in C++ ja nicht. Wie krieg ich hier den Typ raus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648237</guid><dc:creator><![CDATA[Meister Ederer]]></dc:creator><pubDate>Mon, 19 Jan 2009 14:14:58 GMT</pubDate></item><item><title><![CDATA[Reply to Typ bei Polymorphie bestimmen on Mon, 19 Jan 2009 14:21:27 GMT]]></title><description><![CDATA[<p>Meister Ederer schrieb:</p>
<blockquote>
<p>Wie kann ich in folgendem Fall bestimmen, zu welchem Typ meine Variable gehört?</p>
</blockquote>
<p>Bevor du dich das fragst, hinterfrage ich erst einmal deine Absichten.</p>
<p>In der Regel (nicht immer, aber doch recht häufig) ist es ein Fehldesign, wenn du bei Vererbung den konkreten Typ erfahren musst.</p>
<p>Eine Typprüfung gibt es auch unter C++ (Stichwörter: RTTI, dynamic_cast, typeid).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648242</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 19 Jan 2009 14:21:27 GMT</pubDate></item><item><title><![CDATA[Reply to Typ bei Polymorphie bestimmen on Mon, 19 Jan 2009 16:48:09 GMT]]></title><description><![CDATA[<p>Wie schon gesagt sind <code>typeid</code> und <code>dynamic_cast</code> meistens nicht elegant und unnötig. Wenn du für die abgeleiteten Klassen jeweils spezifische Operationen durchführen willst, kannst du das Konzept der virtuellen Methoden nutzen. Wenn du Zeiger oder Referenzen auf Basisobjekte hast, kannst du damit auch abgeleitete Objekte ansprechen, und das ohne explizite Fallunterscheidung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648344</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 19 Jan 2009 16:48:09 GMT</pubDate></item></channel></rss>