<?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[Destruktoraufruf in Komposition.]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich hab gerade ein Verständnisproblem und hoffe ihr könnt mir da weiterhelfen.</p>
<p>Beispiel (Pseudocode):</p>
<pre><code>class A
{
public:
    A()
       {
          stream = open(&quot;video.avi&quot;);
       }
    ~A()
       {
          close(&amp;stream);
       }
private:
   Cvideostream* stream;
}

class B
{
public:
     B()
     {
        videoObjekt();
     }
     ~B()
     {
        videoObjekt.~A();
     }
private:
    A videoObjekt;
}
</code></pre>
<p>Frage 1:<br />
Die Klasse B enthält ein Member der Klasse A, muss ich im Destruktor der Klasse B den Destruktor der Klasse A aufrufen ? Das dürfte doch eigentlich nicht notwendig sein da dieser automatisch aufgerufen wird !?!</p>
<p>Frage 2:<br />
Wenn ich ein Objekt der Klasse B in meinem Programm nutze und dieses nicht auf dem Heap anlege, muss ich dennoch den Destruktor vor Programmende aufrufen, oder geschieht das ebenfalls automatisch?</p>
<p>Sorry für diese pillepalle Fragen. Ich komme momentan aber leider auf keinen grünen Zweig, sollte wahrscheinlich mal wieder ne Pause einlegen <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/247469/destruktoraufruf-in-komposition</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 13:52:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247469.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Aug 2009 14:24:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Destruktoraufruf in Komposition. on Tue, 11 Aug 2009 14:24:15 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich hab gerade ein Verständnisproblem und hoffe ihr könnt mir da weiterhelfen.</p>
<p>Beispiel (Pseudocode):</p>
<pre><code>class A
{
public:
    A()
       {
          stream = open(&quot;video.avi&quot;);
       }
    ~A()
       {
          close(&amp;stream);
       }
private:
   Cvideostream* stream;
}

class B
{
public:
     B()
     {
        videoObjekt();
     }
     ~B()
     {
        videoObjekt.~A();
     }
private:
    A videoObjekt;
}
</code></pre>
<p>Frage 1:<br />
Die Klasse B enthält ein Member der Klasse A, muss ich im Destruktor der Klasse B den Destruktor der Klasse A aufrufen ? Das dürfte doch eigentlich nicht notwendig sein da dieser automatisch aufgerufen wird !?!</p>
<p>Frage 2:<br />
Wenn ich ein Objekt der Klasse B in meinem Programm nutze und dieses nicht auf dem Heap anlege, muss ich dennoch den Destruktor vor Programmende aufrufen, oder geschieht das ebenfalls automatisch?</p>
<p>Sorry für diese pillepalle Fragen. Ich komme momentan aber leider auf keinen grünen Zweig, sollte wahrscheinlich mal wieder ne Pause einlegen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1758917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1758917</guid><dc:creator><![CDATA[andi0815]]></dc:creator><pubDate>Tue, 11 Aug 2009 14:24:15 GMT</pubDate></item><item><title><![CDATA[Reply to Destruktoraufruf in Komposition. on Tue, 11 Aug 2009 14:27:55 GMT]]></title><description><![CDATA[<p>Schon mal selbst ausprobiert? Einfach mal ein print-Statement in den Destruktor schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1758919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1758919</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 11 Aug 2009 14:27:55 GMT</pubDate></item><item><title><![CDATA[Reply to Destruktoraufruf in Komposition. on Tue, 11 Aug 2009 14:34:23 GMT]]></title><description><![CDATA[<p>andi0815 schrieb:</p>
<blockquote>
<p>Hallo Leute,<br />
ich hab gerade ein Verständnisproblem und hoffe ihr könnt mir da weiterhelfen.</p>
<p>Beispiel (Pseudocode):</p>
<pre><code>class A
{
public:
    A()
       {
          stream = open(&quot;video.avi&quot;);
       }
    ~A()
       {
          close(&amp;stream);
       }
private:
   Cvideostream* stream;
}

class B
{
public:
     B()
     {
        videoObjekt();
     }
     ~B()
     {
        videoObjekt.~A();
     }
private:
    A videoObjekt;
}
</code></pre>
<p>Frage 1:<br />
Die Klasse B enthält ein Member der Klasse A, muss ich im Destruktor der Klasse B den Destruktor der Klasse A aufrufen ? Das dürfte doch eigentlich nicht notwendig sein da dieser automatisch aufgerufen wird !?!</p>
<p>Frage 2:<br />
Wenn ich ein Objekt der Klasse B in meinem Programm nutze und dieses nicht auf dem Heap anlege, muss ich dennoch den Destruktor vor Programmende aufrufen, oder geschieht das ebenfalls automatisch?</p>
<p>Sorry für diese pillepalle Fragen. Ich komme momentan aber leider auf keinen grünen Zweig, sollte wahrscheinlich mal wieder ne Pause einlegen <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>
</blockquote>
<pre><code class="language-cpp">class Beispiel
{
 AnotherClass blub; // Destruktor wird automatisch aufgerufen
};

class Beispiel2
{
 AnotherClass *blub;

 Beispiel2()
 {
  blub = new AnotherClass();
 }

 ~Beispiel2()
 {
  delete blub; // Destruktor von AnotherClass wird durch delete aufgerufen und __NICHT__ automatisch
 }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1758929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1758929</guid><dc:creator><![CDATA[asdasdasd]]></dc:creator><pubDate>Tue, 11 Aug 2009 14:34:23 GMT</pubDate></item><item><title><![CDATA[Reply to Destruktoraufruf in Komposition. on Tue, 11 Aug 2009 14:44:19 GMT]]></title><description><![CDATA[<p><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="💡"
    /> , Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1758933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1758933</guid><dc:creator><![CDATA[andi0815]]></dc:creator><pubDate>Tue, 11 Aug 2009 14:44:19 GMT</pubDate></item></channel></rss>