<?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[Verkettete Liste und Pointer]]></title><description><![CDATA[<p>Moin beisammen.</p>
<p>Habe eine Abstrakte Basisklasse CFigure erstellt, die die Methode move() besitzt. Pawn und Rook besitzen diese auch und ich wollte mal testen ob alles so klappt wie ich mir das im Kopf zusammengesponnen habe.</p>
<p>Die normale Ausführung der Methoden klappt auch, allerdings funktioniert das ganze nicht wenn ich eine Verkettete Liste von Datentyp der Basisklasse als Pointer anlege (was ich ja tun muss (also als Pointer), wenn ich alle von CFigure abgeleiteten Klassen in einer Liste verwalten will)</p>
<p>Allerdings scheine ich bei dem Zugriff auf das Element mit dem Iterator einen Fehler zu machen und ich finde dazu keine Lösung.</p>
<pre><code>int main()
{
  list&lt;CFigure*&gt; oFigureList;

  CFigure *poFigure;

  poFigure = new CPawn;
  oFigureList.push_back(poFigure);

  poFigure = new CRook;
  oFigureList.push_back(poFigure);

  list&lt;CFigure*&gt;::iterator iFigures;

  for(iFigures = oFigureList.begin();
      iFigures != oFigureList.end();
      ++iFigures)
  {
    *iFigures-&gt;move();  // Hier ist der Fehler !!!
  };

  _getch();

  if(poFigure)
  {
    delete poFigure;
    poFigure = NULL;
  };

  return 0;
};
</code></pre>
<p>Wie genau greife ich richtig auf das Element zu?</p>
<p>Gruß, Kane</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171454/verkettete-liste-und-pointer</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 12:17:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171454.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Jan 2007 14:52:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verkettete Liste und Pointer on Thu, 25 Jan 2007 14:52:44 GMT]]></title><description><![CDATA[<p>Moin beisammen.</p>
<p>Habe eine Abstrakte Basisklasse CFigure erstellt, die die Methode move() besitzt. Pawn und Rook besitzen diese auch und ich wollte mal testen ob alles so klappt wie ich mir das im Kopf zusammengesponnen habe.</p>
<p>Die normale Ausführung der Methoden klappt auch, allerdings funktioniert das ganze nicht wenn ich eine Verkettete Liste von Datentyp der Basisklasse als Pointer anlege (was ich ja tun muss (also als Pointer), wenn ich alle von CFigure abgeleiteten Klassen in einer Liste verwalten will)</p>
<p>Allerdings scheine ich bei dem Zugriff auf das Element mit dem Iterator einen Fehler zu machen und ich finde dazu keine Lösung.</p>
<pre><code>int main()
{
  list&lt;CFigure*&gt; oFigureList;

  CFigure *poFigure;

  poFigure = new CPawn;
  oFigureList.push_back(poFigure);

  poFigure = new CRook;
  oFigureList.push_back(poFigure);

  list&lt;CFigure*&gt;::iterator iFigures;

  for(iFigures = oFigureList.begin();
      iFigures != oFigureList.end();
      ++iFigures)
  {
    *iFigures-&gt;move();  // Hier ist der Fehler !!!
  };

  _getch();

  if(poFigure)
  {
    delete poFigure;
    poFigure = NULL;
  };

  return 0;
};
</code></pre>
<p>Wie genau greife ich richtig auf das Element zu?</p>
<p>Gruß, Kane</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216937</guid><dc:creator><![CDATA[KaneMX]]></dc:creator><pubDate>Thu, 25 Jan 2007 14:52:44 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste und Pointer on Thu, 25 Jan 2007 14:58:37 GMT]]></title><description><![CDATA[<p>Du solltest die Speicherverwaltung list überlassen und sie folgendermaßen nutzen:</p>
<pre><code class="language-cpp">list&lt;CFigure&gt; oFigureList;
</code></pre>
<p>List erzeugt die Objekte schon, auf dem Heap. Mal abgesehen davon, geht bei dir ein Obejkt verloren, weil du nur das zuletzt andelegt wieder löschst. Außerdem würdest du(für andere Situation) folgendermaßen auf dein Onjekt zugreifen:</p>
<pre><code class="language-cpp">(*iFigures)-&gt;move();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1216944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216944</guid><dc:creator><![CDATA[viande]]></dc:creator><pubDate>Thu, 25 Jan 2007 14:58:37 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste und Pointer on Thu, 25 Jan 2007 15:00:32 GMT]]></title><description><![CDATA[<p>Da er die Objekte in seiner Liste polymorph nutzen will muß er schon Pointer nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216947</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 25 Jan 2007 15:00:32 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste und Pointer on Thu, 25 Jan 2007 15:59:45 GMT]]></title><description><![CDATA[<p>Stimmt, mein Fehler <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":\"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217012</guid><dc:creator><![CDATA[viande]]></dc:creator><pubDate>Thu, 25 Jan 2007 15:59:45 GMT</pubDate></item></channel></rss>