<?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[Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht?]]></title><description><![CDATA[<p>Wenn ich in der .cpp File(die .cpp die zur .h gehört in der die Klasse steht) folgendes schreibe:</p>
<pre><code class="language-cpp">Test::~Test()
{
}
</code></pre>
<p>Ha ich dann einen Destruktor der nix macht, im Sinne von das Objekt wird nicht zerstört?<br />
Das Gleiche Hab ich auch beim Konstruktor geschrieben macht der dann auch nix?</p>
<p>thx im Voraus<br />
mfg Digger 182</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181780/wichtig-hab-ich-dann-einen-destruktor-konstruktor-der-nix-macht</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 10:24:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181780.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 May 2007 10:46:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Thu, 17 May 2007 10:46:19 GMT]]></title><description><![CDATA[<p>Wenn ich in der .cpp File(die .cpp die zur .h gehört in der die Klasse steht) folgendes schreibe:</p>
<pre><code class="language-cpp">Test::~Test()
{
}
</code></pre>
<p>Ha ich dann einen Destruktor der nix macht, im Sinne von das Objekt wird nicht zerstört?<br />
Das Gleiche Hab ich auch beim Konstruktor geschrieben macht der dann auch nix?</p>
<p>thx im Voraus<br />
mfg Digger 182</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286686</guid><dc:creator><![CDATA[Raxtor]]></dc:creator><pubDate>Thu, 17 May 2007 10:46:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Thu, 17 May 2007 10:51:34 GMT]]></title><description><![CDATA[<p>Hi der Konstrutkor und Dekonstruktor dient nur dazu dort ZUSÄTZLICHE Dinge zu erzeugen, löschen... Die Klasse wird natürlich korrekt gelöscht.<br />
Wobei du dazu mehr Code zeigen müsstest wie du die Klasse benutzt.</p>
<p>Denn das sind unterschiede:</p>
<pre><code class="language-cpp">Test *MeinTest = new Test; // Erzeugt
delete Test; // Löschen

{
Test NeueKlasse; // Erzeugt
}
// Gelöscht...
</code></pre>
<p>Gruß Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286688</guid><dc:creator><![CDATA[Dummie]]></dc:creator><pubDate>Thu, 17 May 2007 10:51:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Thu, 17 May 2007 10:56:14 GMT]]></title><description><![CDATA[<p>Ich verwende ganz normale Variablen nchts dynamisches oder so also auch kein spez. Destruktor/Konstruktor mir gehts nur darum zu erfahren ob er überhaupt noch was macht wenn ich das schreib</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286691</guid><dc:creator><![CDATA[Raxtor]]></dc:creator><pubDate>Thu, 17 May 2007 10:56:14 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Thu, 17 May 2007 10:59:13 GMT]]></title><description><![CDATA[<p>Die Klasse wird aufjedenfall zerstört. Nur wenn du mit new usw... arbeitest musst du denn Speicher natürlich wieder freigeben. Der Konstruktor dient in erster Linie dazu Objekte zu initalisieren. Und der Dekonstruktor die initalisierten Objekte zu löschen, wenn nötig. Ansonsten musst du einfach mehr Code zeigen, denn ich verstehe dein Problem nicht.</p>
<p>Gruß Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286694</guid><dc:creator><![CDATA[Dummie]]></dc:creator><pubDate>Thu, 17 May 2007 10:59:13 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Thu, 17 May 2007 11:05:47 GMT]]></title><description><![CDATA[<p>Das mit new und delete ist mir klar ich wollte nur wissen ob das Objekt wieder zerstört wird. Ich verwende kein new oder delete demnach muss auch nicht zwingend ein eih´gener Destruktor/Konstruktor geschrieben werden, deswegen schreib ich es wie oben bin mir aber nicht sicher ob das Objekt wieder zerstört wird.</p>
<p>Also: Wird es zerstört?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286699</guid><dc:creator><![CDATA[Raxtor]]></dc:creator><pubDate>Thu, 17 May 2007 11:05:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Thu, 17 May 2007 11:13:45 GMT]]></title><description><![CDATA[<p>Ja wird es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286704</guid><dc:creator><![CDATA[Dummie]]></dc:creator><pubDate>Thu, 17 May 2007 11:13:45 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Thu, 17 May 2007 11:14:34 GMT]]></title><description><![CDATA[<p>das wollte ich wissen Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286706</guid><dc:creator><![CDATA[Raxtor]]></dc:creator><pubDate>Thu, 17 May 2007 11:14:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Thu, 17 May 2007 11:53:23 GMT]]></title><description><![CDATA[<p>Digger182 schrieb:</p>
<blockquote>
<p>[...]mir gehts nur darum zu erfahren ob er überhaupt noch was macht wenn ich das schreib</p>
</blockquote>
<p>Der destruktor macht nichts, aber wie Dummie bereits geschrieben hat wird das Objekt zerstört. Der Destruktor zerstört nie das Objekt; er gibt nur zusätzlich angeforderten Speicher ( per new ) mittels delete wieder frei ( Natürlich kann man im Destruktor auch z.B. etwas ausgeben, aber normalerweise tut man das nicht )!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1286724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1286724</guid><dc:creator><![CDATA[3DG]]></dc:creator><pubDate>Thu, 17 May 2007 11:53:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Fri, 18 May 2007 06:50:42 GMT]]></title><description><![CDATA[<p>Oder anders ausgedrückt: Nicht der Destruktor zerstört das Objekt. Das Programm ruft den Destruktor auf, <strong>wenn</strong> (bzw. bevor) es das Objekt zerstören will.</p>
<p>(und nachdem dein leerer Dtor-Rumpf abgearbeitet wurde, kommt noch einiges an Zusatzcode, mit dem Membervariablen und Basisklassen zerstört werden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287163</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 18 May 2007 06:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Fri, 18 May 2007 07:03:30 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Digger182 schrieb:</p>
<blockquote>
<p>Wenn ich in der .cpp File(die .cpp die zur .h gehört in der die Klasse steht) folgendes schreibe:</p>
<pre><code class="language-cpp">Test::~Test()
{
}
</code></pre>
<p>...</p>
</blockquote>
<p>... dann hast Du überflüssige (und bestenfalls verwirrende) Tipparbeit geleistet. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich will nicht rüde erscheinen, sondern pointieren, ich habe das hier bei Einsteigern häufiger gesehen, dass sie als erstes mal leere DefaultCtoren und DToren schreiben, weil in irgendeinem Buch steht, dass Klassen immer einen CTor/Dtor-Paar haben müssten. Das stimmt zwar auch, aber man sollte gleich dazu schreiben, dass solche &quot;trivialen C/Dtoren&quot; automatisch vom Compiler erzeugt werden (ist im Std definiert - keine Compilersonderlocke !) und man C/DToren nur selbst zu schreiben braucht, wenn sie <em>etwas Anderes tun sollen</em>.<br />
(Auf das manuelle Aufrufen der Basisklassen-DefaultCtoren z.B. kommt dagegen sehr selten einer <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="😉"
    /> )</p>
<p>Also wie hier schon gesagt: Wenn Du möchtest, dass beim Erzeugen/Zerstören eines Objektes noch etwas Besonderes erledigt wird, kannst Du das in einem CTor/DTor festlegen (einzige Ausnahme IIRC: Um eine Klasse als &quot;ableitbar&quot; zu kennzeichnen, sollte man ihr einen virtuellen DTor verpassen ... auch wenn das seine einzige Existenzberechtigung sein sollte).<br />
Ansonsten brauchst Du keinen und Das Erzeugen/Zerstören selbst kannst Du damit auch weder zur Laufzeit initiieren noch verhindern....</p>
<p>Gruß,</p>
<p>Simon2,</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287169</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 18 May 2007 07:03:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wichtig: Hab ich dann einen Destruktor&#x2F;Konstruktor der nix macht? on Fri, 18 May 2007 09:37:52 GMT]]></title><description><![CDATA[<p>Digger182 schrieb:</p>
<blockquote>
<p>Ich verwende kein new oder delete demnach muss auch nicht zwingend ein eih´gener Destruktor/Konstruktor geschrieben werden, deswegen schreib ich es wie oben bin mir aber nicht sicher ob das Objekt wieder zerstört wird.<br />
Also: Wird es zerstört?</p>
</blockquote>
<p>Natürlich wird es zerstört.<br />
Wenn du kein new/delete verwendest, was machst du dann? Lokale Variablen? Die *müssen* zerstört werden, weil der Speicher automatisch freigegeben wird wenn die Funktion verlassen wird.</p>
<p>Die einzige Möglichkeit die Lifetime von Objekten frei selbst zu bestimmen ist eben new/delete.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287247</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 18 May 2007 09:37:52 GMT</pubDate></item></channel></rss>