<?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[Klassen, Instanzen und Zeiger [gelöst]]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein (Spiele-)Projekt, bei dem man in ein Inventar Gegenstände (Items) legen und auch wieder herausnehmen können soll.<br />
Alle meine Items habe ich von einer Item-Klasse abgeleitet, als leeres Objekt habe ich bisher die Item-Klasse selbst verwendet.</p>
<p>Am Anfang fülle ich die leeren Plätze im Inventar mit:</p>
<pre><code class="language-cpp">CItem* m_Item = new CItem;
</code></pre>
<p>Wenn ich dann einen neuen Gegenstand (z.B. eine Gun) einfügen will, benutze ich:</p>
<pre><code class="language-cpp">m_Item = new CGun;
</code></pre>
<p>Wenn ich das dann wieder löschen will, dachte ich es würde mit</p>
<pre><code class="language-cpp">m_Item = new CItem;
</code></pre>
<p>gehen, dann gibt Win (beim Ausführen) aber einen Fehler aus.</p>
<p>Ich denke das liegt daran, dass Item die Basisklasse ist, aber wie kann ich das lösen?</p>
<p>Muss ich für meine unbenutzen Plätze extra ein (leeres) Item erstellen?<br />
Oder wie löst man das Inventar mit den Gegenständen gut?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247650/klassen-instanzen-und-zeiger-gelöst</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 12:25:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247650.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Aug 2009 19:52:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen, Instanzen und Zeiger [gelöst] on Thu, 13 Aug 2009 20:15:47 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein (Spiele-)Projekt, bei dem man in ein Inventar Gegenstände (Items) legen und auch wieder herausnehmen können soll.<br />
Alle meine Items habe ich von einer Item-Klasse abgeleitet, als leeres Objekt habe ich bisher die Item-Klasse selbst verwendet.</p>
<p>Am Anfang fülle ich die leeren Plätze im Inventar mit:</p>
<pre><code class="language-cpp">CItem* m_Item = new CItem;
</code></pre>
<p>Wenn ich dann einen neuen Gegenstand (z.B. eine Gun) einfügen will, benutze ich:</p>
<pre><code class="language-cpp">m_Item = new CGun;
</code></pre>
<p>Wenn ich das dann wieder löschen will, dachte ich es würde mit</p>
<pre><code class="language-cpp">m_Item = new CItem;
</code></pre>
<p>gehen, dann gibt Win (beim Ausführen) aber einen Fehler aus.</p>
<p>Ich denke das liegt daran, dass Item die Basisklasse ist, aber wie kann ich das lösen?</p>
<p>Muss ich für meine unbenutzen Plätze extra ein (leeres) Item erstellen?<br />
Oder wie löst man das Inventar mit den Gegenständen gut?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760352</guid><dc:creator><![CDATA[XCoder++]]></dc:creator><pubDate>Thu, 13 Aug 2009 20:15:47 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen, Instanzen und Zeiger [gelöst] on Thu, 13 Aug 2009 20:04:21 GMT]]></title><description><![CDATA[<p>Zum Löschen würde ich erstmal <code>delete</code> aufrufen. Danach kannst du ein CItem anfordern, aber reicht da nicht einfach den Zeiger auf 0 zu setzen?</p>
<p>Welcher Fehler wird ausgegeben?<br />
Gibt der Compiler Warnungen aus?<br />
Evtl mal ein Minimalbeispiel machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760357</guid><dc:creator><![CDATA[lagalopex]]></dc:creator><pubDate>Thu, 13 Aug 2009 20:04:21 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen, Instanzen und Zeiger [gelöst] on Thu, 13 Aug 2009 20:14:20 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17281">@lagalopex</a>: Thx, aber das mit delete lief auch nicht, habe mehrere Varianten probiert.<br />
Habe jetzt aber meinen dummen Fehler entdeckt - ich habe vergessen CItem nach dem neuen erstellen neu zu initialisieren! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
<p>Also sorry, aber ich kam echt nicht weiter, wusste ja nicht, dass es so einfach sein würde und ich es noch selbst rausfinde! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760361</guid><dc:creator><![CDATA[XCoder++]]></dc:creator><pubDate>Thu, 13 Aug 2009 20:14:20 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen, Instanzen und Zeiger [gelöst] on Thu, 13 Aug 2009 20:22:40 GMT]]></title><description><![CDATA[<p>Ähm, du solltest aber lernen, wie das mit dem <code>delete</code> funktioniert, sonst handelst du dir Memory Leaks ein. In C++ musst du Objekte, die du mit <code>new</code> anlegst, wieder manuell mit <code>delete</code> abräumen. Das ist nicht wie in Java oder C#, wo ein Garbage-Collector dir diese Arbeit abnimmt.</p>
<p>Davon abgesehen ist &quot;lief nicht&quot; keine Fehlerbeschreibung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760364</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 13 Aug 2009 20:22:40 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen, Instanzen und Zeiger [gelöst] on Thu, 13 Aug 2009 22:39:08 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Davon abgesehen ist &quot;lief nicht&quot; keine Fehlerbeschreibung.</p>
</blockquote>
<p>Doch, es ist eine Fehlerbeschreibung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760417</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 13 Aug 2009 22:39:08 GMT</pubDate></item></channel></rss>