<?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[Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen?]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Klasse in der ich im Konstruktor einige Array allociere.<br />
Nun möchte ich diese wieder befreien und zwar mit einer Memberfunktion die ich im Destruktor aufrufe. Nun ist mir nicht ganz klar wann der Destruktor aufgerufen wird.<br />
Ich meine wenn der Destrucktor am Schluss der Objektzerstörung aufgerufen wird, kann ich doch nicht mehr auf Memberfunktionen zugreifen.<br />
Da aber der Destrucktor eine Memberfunktion darstellt, müsste eigentlich das komplette Objekt noch existieren.</p>
<p>Was ist nun richtig??<br />
Kann ich im Destruktor noch auf Memberfunktionen der Klasse zugreifen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150184/im-destruktor-eine-memberfunktion-der-zu-zerstörenden-klasse-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 14:39:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150184.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Jun 2006 20:30:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Tue, 13 Jun 2006 20:30:52 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Klasse in der ich im Konstruktor einige Array allociere.<br />
Nun möchte ich diese wieder befreien und zwar mit einer Memberfunktion die ich im Destruktor aufrufe. Nun ist mir nicht ganz klar wann der Destruktor aufgerufen wird.<br />
Ich meine wenn der Destrucktor am Schluss der Objektzerstörung aufgerufen wird, kann ich doch nicht mehr auf Memberfunktionen zugreifen.<br />
Da aber der Destrucktor eine Memberfunktion darstellt, müsste eigentlich das komplette Objekt noch existieren.</p>
<p>Was ist nun richtig??<br />
Kann ich im Destruktor noch auf Memberfunktionen der Klasse zugreifen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077201</guid><dc:creator><![CDATA[BILL]]></dc:creator><pubDate>Tue, 13 Jun 2006 20:30:52 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Tue, 13 Jun 2006 20:38:58 GMT]]></title><description><![CDATA[<p>Was für ein Destruktor??? In der Managed-Wolrd gibt es keine Destruktoren... nur Finalizer...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077206</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 13 Jun 2006 20:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Tue, 13 Jun 2006 20:43:12 GMT]]></title><description><![CDATA[<p>Ja spar dir dein Kommentar hier gibt es kein reines C++ Forum und<br />
„Managed“ C verkneife ich mir so langes geht (das nur am Rande).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077214</guid><dc:creator><![CDATA[BILL]]></dc:creator><pubDate>Tue, 13 Jun 2006 20:43:12 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Wed, 14 Jun 2006 05:25:37 GMT]]></title><description><![CDATA[<p>BILL schrieb:</p>
<blockquote>
<p>Ja spar dir dein Kommentar hier gibt es kein reines C++ Forum</p>
</blockquote>
<p>?????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077279</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 14 Jun 2006 05:25:37 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Wed, 14 Jun 2006 05:25:48 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=18363" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=58" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077280</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 14 Jun 2006 05:25:48 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Wed, 14 Jun 2006 05:29:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Kann ich im Destruktor noch auf Memberfunktionen der Klasse zugreifen?</p>
</blockquote>
<p>klar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077281</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Wed, 14 Jun 2006 05:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Wed, 14 Jun 2006 06:33:39 GMT]]></title><description><![CDATA[<p>BILL schrieb:</p>
<blockquote>
<p>Nun ist mir nicht ganz klar wann der Destruktor aufgerufen wird.</p>
</blockquote>
<p>Sobald das Objekt seine &quot;gültigkeit&quot; verliert (bei lokalen Objekten z.B. beim Verlassen der Funktion) oder wenn du es per delete löscht (bei dynamisch angelegten Objekten).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077302</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Wed, 14 Jun 2006 06:33:39 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Wed, 14 Jun 2006 11:24:19 GMT]]></title><description><![CDATA[<p>Im Destruktor kannst du ganz normal Methoden aufrufen. Der Speicher wird ja erst nach der Ausführung des Destruktors gelöscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077507</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Wed, 14 Jun 2006 11:24:19 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Thu, 15 Jun 2006 08:07:56 GMT]]></title><description><![CDATA[<p>Jo Danke ,<br />
ihr seit spitze</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077987</guid><dc:creator><![CDATA[BILL]]></dc:creator><pubDate>Thu, 15 Jun 2006 08:07:56 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Thu, 15 Jun 2006 11:26:29 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Was für ein Destruktor??? In der Managed-Wolrd gibt es keine Destruktoren... nur Finalizer...</p>
</blockquote>
<p>Das ist IMHO nicht völlig korrekt. Für andere Resourcen als Speicher setzt man größtenteils auf deterministische Destruktion. Aus Sicht der CLR wird das meistens erledigt, indem man Dispose() implementiert. Für C++/CLI ist Dispose() dann auch gleichzeitig der C++-Destruktor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078102</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 15 Jun 2006 11:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Thu, 15 Jun 2006 11:45:51 GMT]]></title><description><![CDATA[<p>Phoemuex schrieb:</p>
<blockquote>
<p>Im Destruktor kannst du ganz normal Methoden aufrufen. Der Speicher wird ja erst nach der Ausführung des Destruktors gelöscht.</p>
</blockquote>
<p>Dazu vielleicht kleine Einschränkung: Du darfst schon Methoden aufrufen, aber Du solltest darauf achten keine virtuellen Methoden aufzurufen. Denn diese könnten versuchen auf eine bereits zerstörte Unterklasse zuzugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078110</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Thu, 15 Jun 2006 11:45:51 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Thu, 15 Jun 2006 11:58:59 GMT]]></title><description><![CDATA[<p>Jester schrieb:</p>
<blockquote>
<p>Phoemuex schrieb:</p>
<blockquote>
<p>Im Destruktor kannst du ganz normal Methoden aufrufen. Der Speicher wird ja erst nach der Ausführung des Destruktors gelöscht.</p>
</blockquote>
<p>Dazu vielleicht kleine Einschränkung: Du darfst schon Methoden aufrufen, aber Du solltest darauf achten keine virtuellen Methoden aufzurufen. Denn diese könnten versuchen auf eine bereits zerstörte Unterklasse zuzugreifen.</p>
</blockquote>
<p>der rat ist richtig, die begründung nicht ganz. wärend der ausführung des destruktors einer basisklasse ist das objekt selbst nur noch eine instanz der basisklasse. ein virtueller aufruf wird also die implementation der basisklasse aufrufen (und das würde z.b. ein problem sein, wenn diese funktion in der basisklasse rein virtuell ist und keine implementation hat). das verhalten ist spiegelbildlich zu dem im konstruktor. virtuelle aufrufe aus dem konstruktor oder destruktor heraus können stets statisch aufgelöst werden (evtl. abgesehen von virtuellen funktionen einer virtuellen basisklasse, die nicht überschrieben wurde).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078117</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 15 Jun 2006 11:58:59 GMT</pubDate></item><item><title><![CDATA[Reply to Im Destruktor eine Memberfunktion der zu zerstörenden Klasse aufrufen? on Thu, 15 Jun 2006 11:58:05 GMT]]></title><description><![CDATA[<p>Ups, aha. Dann mal danke für die Korrektur! Wieder was gelernt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078120</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Thu, 15 Jun 2006 11:58:05 GMT</pubDate></item></channel></rss>