<?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[copy Konstruktor ruft Destruktor auf??]]></title><description><![CDATA[<p>Ich möchte eine Copy einer Klasse anlegen:</p>
<pre><code class="language-cpp">void widgetAdvancedComplexBeamView::setComplexData(beamshapes * Array)
{
	m_ComplexBeam = beamshapes(*Array); // call copy konstruktor
...
</code></pre>
<pre><code class="language-cpp">beamshapes(const beamshapes &amp; oldBeam)
	{
		setDescription(oldBeam.Description() + &quot;(COPY)&quot;);
		// -&gt; oldBeam -&gt; m_ComplexBeamData.Complex
		oldBeam.getDataComplex(m_ComplexBeamData.Complex);
	}
	~beamshapes(){};
</code></pre>
<p>Rufe ich den Copy Konstruktor auf wird dieser vollständig abgearbeitet aber danach direkt der Destruktor aufgerufen - warum ?</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215932/copy-konstruktor-ruft-destruktor-auf</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 21:19:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215932.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Jun 2008 09:36:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to copy Konstruktor ruft Destruktor auf?? on Tue, 17 Jun 2008 09:36:50 GMT]]></title><description><![CDATA[<p>Ich möchte eine Copy einer Klasse anlegen:</p>
<pre><code class="language-cpp">void widgetAdvancedComplexBeamView::setComplexData(beamshapes * Array)
{
	m_ComplexBeam = beamshapes(*Array); // call copy konstruktor
...
</code></pre>
<pre><code class="language-cpp">beamshapes(const beamshapes &amp; oldBeam)
	{
		setDescription(oldBeam.Description() + &quot;(COPY)&quot;);
		// -&gt; oldBeam -&gt; m_ComplexBeamData.Complex
		oldBeam.getDataComplex(m_ComplexBeamData.Complex);
	}
	~beamshapes(){};
</code></pre>
<p>Rufe ich den Copy Konstruktor auf wird dieser vollständig abgearbeitet aber danach direkt der Destruktor aufgerufen - warum ?</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1530648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1530648</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Tue, 17 Jun 2008 09:36:50 GMT</pubDate></item><item><title><![CDATA[Reply to copy Konstruktor ruft Destruktor auf?? on Tue, 17 Jun 2008 09:42:56 GMT]]></title><description><![CDATA[<p>temporäres objekt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1530650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1530650</guid><dc:creator><![CDATA[tempo]]></dc:creator><pubDate>Tue, 17 Jun 2008 09:42:56 GMT</pubDate></item><item><title><![CDATA[Reply to copy Konstruktor ruft Destruktor auf?? on Tue, 17 Jun 2008 10:36:03 GMT]]></title><description><![CDATA[<p>pospiech schrieb:</p>
<blockquote>
<p>Ich möchte eine Copy einer Klasse anlegen:</p>
</blockquote>
<p>Dann solltest du eben genau das tun. Was du tust ist aber ein Objekt einer Klasse mittels Standardkonstruktor anzulegen, und später eine Zuweisung zu machen. Du solltest dich dringend mit der Initialisierungsliste beschäftigen!</p>
<pre><code class="language-cpp">void widgetAdvancedComplexBeamView::setComplexData(beamshapes * Array)
:  m_ComplexBeam(beamshapes(*Array)) // Dies wäre der copy konstruktor
{ // &lt;-- Hier sind wiederum die Objekte alle schon erzeugt!
  m_ComplexBeam = beamshapes(*Array); // Dies ist der Zuweisungsoperator
  ...
}
</code></pre>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1530694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1530694</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 17 Jun 2008 10:36:03 GMT</pubDate></item></channel></rss>