<?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[Polymorphismus]]></title><description><![CDATA[<p>Vielleicht stehe ich auf dem Schlauch, aber ich habe ein seltsames Problem:<br />
Um das Konzept einer globalen Basisklasse Object, wie es sie in Java gibt, nachzubilden, habe ich eben derartige Klasse entworfen. Sie besitzt keine Member und nur Ctor und Dtor:</p>
<pre><code class="language-cpp">class Object{
public:
  Object();
  ~Object(void);
};
</code></pre>
<p>Nun habe ich einige anderen Klasse davon abgeleitet, zB class AudioTrack: public Object{...}.</p>
<p>Im weiteren Verlauf führe ich einen dynamic_cast durch, um Methoden der abgeleiteten Klassen verwenden zu können zB dynamic_cast&lt;AudioTrack*&gt;(obj), allerdings bekomme ich dann immer diese Fehlermeldung:</p>
<p>error C2683: dynamic_cast : 'Object' is not a polymorphic type : see declaration of 'Object'</p>
<p>wo kann der fehler liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/128152/polymorphismus</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 10:14:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/128152.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 Nov 2005 19:23:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Polymorphismus on Wed, 30 Nov 2005 19:23:14 GMT]]></title><description><![CDATA[<p>Vielleicht stehe ich auf dem Schlauch, aber ich habe ein seltsames Problem:<br />
Um das Konzept einer globalen Basisklasse Object, wie es sie in Java gibt, nachzubilden, habe ich eben derartige Klasse entworfen. Sie besitzt keine Member und nur Ctor und Dtor:</p>
<pre><code class="language-cpp">class Object{
public:
  Object();
  ~Object(void);
};
</code></pre>
<p>Nun habe ich einige anderen Klasse davon abgeleitet, zB class AudioTrack: public Object{...}.</p>
<p>Im weiteren Verlauf führe ich einen dynamic_cast durch, um Methoden der abgeleiteten Klassen verwenden zu können zB dynamic_cast&lt;AudioTrack*&gt;(obj), allerdings bekomme ich dann immer diese Fehlermeldung:</p>
<p>error C2683: dynamic_cast : 'Object' is not a polymorphic type : see declaration of 'Object'</p>
<p>wo kann der fehler liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/930940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930940</guid><dc:creator><![CDATA[_lancelot_]]></dc:creator><pubDate>Wed, 30 Nov 2005 19:23:14 GMT</pubDate></item><item><title><![CDATA[Reply to Polymorphismus on Wed, 30 Nov 2005 19:32:27 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in C++ sind Objekte nicht automatisch polymorph, wie in Java. Das Wort &quot;virtual&quot;<br />
ändert das:</p>
<pre><code class="language-cpp">class Object{
public:
  Object();
  virtual ~Object(void);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/930950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930950</guid><dc:creator><![CDATA[CarstenJ]]></dc:creator><pubDate>Wed, 30 Nov 2005 19:32:27 GMT</pubDate></item><item><title><![CDATA[Reply to Polymorphismus on Wed, 30 Nov 2005 19:33:32 GMT]]></title><description><![CDATA[<p>Du musst den Destruktor virtual machen:</p>
<p>virtual ~Object();</p>
<p>Ein Destruktor nimmt auch keine Parameter, also sollte strenggenommen auch kein void in den () stehen :), beim Ctor dagegen schon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/930952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930952</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 30 Nov 2005 19:33:32 GMT</pubDate></item><item><title><![CDATA[Reply to Polymorphismus on Wed, 30 Nov 2005 19:36:04 GMT]]></title><description><![CDATA[<p>ok, vielen dank!<br />
ich hab sogar schon eine virtuelle methode foo() gehabt, aber recht elegant wäre diese lösung nicht gewesen...<br />
das void wird ja vom visual studio automatisch eingefügt, dummerweise hab ich's bei der falschen klammer gelöscht *schäm*</p>
<p>lancelot</p>
]]></description><link>https://www.c-plusplus.net/forum/post/930955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930955</guid><dc:creator><![CDATA[_lancelot_]]></dc:creator><pubDate>Wed, 30 Nov 2005 19:36:04 GMT</pubDate></item></channel></rss>