<?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[Anfängerfrage: Verkettete Liste mit verschiedenen Klassen]]></title><description><![CDATA[<p>Hallo !</p>
<p>ich finde leider nichts mit google suche etc. Vielleicht verwende ich auch die falschen Suchworte? Jetzt hoffe ich, dass mir hier wer helfen kann.</p>
<p>Ich versuche in C++ (Arduino) eine sehr einfache verkettete Liste zu verwalten. In der Liste sind Objekte mit einem Pointer auf das eigentliche Objekt. Dabei habe ich den Pointer als Pointer auf ein Objekt der Elternklasse deklariert, es werden aber Objekte verschiedener Kindklassen verwendet und in der Liste abgelegt.</p>
<p>Jetzt möchte ich eine Methode aufrufen, die in den Kindklassen jeweils verschieden implementiert ist. Es wird aber immer die Methode der Elternklasse aufgerufen.</p>
<p>Mache ich etwas falsch, oder geht das einfach so nicht, wie ich das wollte. Dachte das wäre der Sinn von objektorientierter Programmierung ???</p>
<p>&quot;code&quot; sagt mehr als 1000 Worte:</p>
<p>class ListNode // Verwaltet die Liste<br />
{<br />
ElternKlasse *object;<br />
ListNode *next;<br />
.....<br />
}</p>
<p>class Elternklasse // Elternklasse der Objkete die in der Liste abgelegt werden sollen.<br />
{<br />
void set(int) {.....}<br />
}</p>
<p>class KindKlasse<br />
{<br />
void set(int) { ... tu was anderes ... }<br />
}</p>
<p>Lege ich jetzt ein Objekt der KindKlasse in die Liste (ListNode) und rufe im ListNode</p>
<p>object-&gt;set(x);</p>
<p>auf, dann wird trotzdem die set Methode der Elternklasse ausgeführt.</p>
<p>Vielen Dank !!!!!</p>
<p>p.s.: Ich will bewusst keine Libraries für verkettete Listen etc. Ich möchte auch nicht die gespeicherten Objekte durch Pointer erweitern und dann diese direkt in der Liste verwalten. Es geht mir eher ums Grundsätzliche !</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322071/anfängerfrage-verkettete-liste-mit-verschiedenen-klassen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 12:28:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322071.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Dec 2013 15:52:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage: Verkettete Liste mit verschiedenen Klassen on Thu, 05 Dec 2013 15:52:30 GMT]]></title><description><![CDATA[<p>Hallo !</p>
<p>ich finde leider nichts mit google suche etc. Vielleicht verwende ich auch die falschen Suchworte? Jetzt hoffe ich, dass mir hier wer helfen kann.</p>
<p>Ich versuche in C++ (Arduino) eine sehr einfache verkettete Liste zu verwalten. In der Liste sind Objekte mit einem Pointer auf das eigentliche Objekt. Dabei habe ich den Pointer als Pointer auf ein Objekt der Elternklasse deklariert, es werden aber Objekte verschiedener Kindklassen verwendet und in der Liste abgelegt.</p>
<p>Jetzt möchte ich eine Methode aufrufen, die in den Kindklassen jeweils verschieden implementiert ist. Es wird aber immer die Methode der Elternklasse aufgerufen.</p>
<p>Mache ich etwas falsch, oder geht das einfach so nicht, wie ich das wollte. Dachte das wäre der Sinn von objektorientierter Programmierung ???</p>
<p>&quot;code&quot; sagt mehr als 1000 Worte:</p>
<p>class ListNode // Verwaltet die Liste<br />
{<br />
ElternKlasse *object;<br />
ListNode *next;<br />
.....<br />
}</p>
<p>class Elternklasse // Elternklasse der Objkete die in der Liste abgelegt werden sollen.<br />
{<br />
void set(int) {.....}<br />
}</p>
<p>class KindKlasse<br />
{<br />
void set(int) { ... tu was anderes ... }<br />
}</p>
<p>Lege ich jetzt ein Objekt der KindKlasse in die Liste (ListNode) und rufe im ListNode</p>
<p>object-&gt;set(x);</p>
<p>auf, dann wird trotzdem die set Methode der Elternklasse ausgeführt.</p>
<p>Vielen Dank !!!!!</p>
<p>p.s.: Ich will bewusst keine Libraries für verkettete Listen etc. Ich möchte auch nicht die gespeicherten Objekte durch Pointer erweitern und dann diese direkt in der Liste verwalten. Es geht mir eher ums Grundsätzliche !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370009</guid><dc:creator><![CDATA[gnarfoni]]></dc:creator><pubDate>Thu, 05 Dec 2013 15:52:30 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Verkettete Liste mit verschiedenen Klassen on Thu, 05 Dec 2013 16:14:14 GMT]]></title><description><![CDATA[<p>Ich sehe hier kein virtual</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370015</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 05 Dec 2013 16:14:14 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Verkettete Liste mit verschiedenen Klassen on Thu, 05 Dec 2013 16:19:57 GMT]]></title><description><![CDATA[<p>Das scheint mal ein guter Tipp zu sein.</p>
<p>Eigentlich möchte ich die Methode in der Elternklasse auch nicht virtual machen, weil ich sie nicht in jeder Kindklasse überschreibe, aber das lässt sich notfalls bewerkstelligen. Würde das das Problem lösen ?</p>
<p>Kann nur eine virtual Methode dynamisch gebunden werden ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370016</guid><dc:creator><![CDATA[gnarfoni]]></dc:creator><pubDate>Thu, 05 Dec 2013 16:19:57 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Verkettete Liste mit verschiedenen Klassen on Thu, 05 Dec 2013 16:22:22 GMT]]></title><description><![CDATA[<p>Ja<br />
Ja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370017</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 05 Dec 2013 16:22:22 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Verkettete Liste mit verschiedenen Klassen on Thu, 05 Dec 2013 16:22:25 GMT]]></title><description><![CDATA[<p><a href="http://de.wikipedia.org/wiki/Virtuelle_Methode" rel="nofollow">http://de.wikipedia.org/wiki/Virtuelle_Methode</a></p>
<p>Das dürfte wohl die Lösung sein. Bin das von PHP nicht gewöhnt.</p>
<p>Danke. Ich werde mal umbauen !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370018</guid><dc:creator><![CDATA[gnarfoni]]></dc:creator><pubDate>Thu, 05 Dec 2013 16:22:25 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Verkettete Liste mit verschiedenen Klassen on Thu, 05 Dec 2013 16:27:03 GMT]]></title><description><![CDATA[<p>Jetzt bin ich auch noch draufgekommen, dass virtual nicht zwangsläufig heisst, dass die Methode in der Elternklasse nicht implementiert ist. Naja es gibt wohl noch viel zu lernen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /> DANKE !!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370020</guid><dc:creator><![CDATA[gnarfoni]]></dc:creator><pubDate>Thu, 05 Dec 2013 16:27:03 GMT</pubDate></item></channel></rss>