<?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-Probleme]]></title><description><![CDATA[<p>Hallo Leute ich weiss, ich habe diesen thread schon ein Mal gestartet aba ich kapiers einfach ned.</p>
<p>Alles andere in c++ was ich mir angesehen habe hab ich problemlos kapiert aba hier wurde mir nie ausreichend erklärt wozu er gut ist.<br />
Ich habe mir nun ein 2tes c++ buch geholt und mir beide sehr lange angesehen (eine woche immer wieder jeden tag) was den c-cnstrctr angeht aba ich checks ned weil mehr wert auf die anwendung als auf das wozu/warum gelegt wird und das nirgends ausreichend erläutert wurde.</p>
<p>Ihr könnt euch meine Dankbarkeit vorstellen wenn mir das hier jmd erklären könnte ganz kurz und einfach.</p>
<p>Vielen Dank im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/160052/copy-konstruktor-probleme</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 03:46:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/160052.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 Sep 2006 13:29:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 13:29:49 GMT]]></title><description><![CDATA[<p>Hallo Leute ich weiss, ich habe diesen thread schon ein Mal gestartet aba ich kapiers einfach ned.</p>
<p>Alles andere in c++ was ich mir angesehen habe hab ich problemlos kapiert aba hier wurde mir nie ausreichend erklärt wozu er gut ist.<br />
Ich habe mir nun ein 2tes c++ buch geholt und mir beide sehr lange angesehen (eine woche immer wieder jeden tag) was den c-cnstrctr angeht aba ich checks ned weil mehr wert auf die anwendung als auf das wozu/warum gelegt wird und das nirgends ausreichend erläutert wurde.</p>
<p>Ihr könnt euch meine Dankbarkeit vorstellen wenn mir das hier jmd erklären könnte ganz kurz und einfach.</p>
<p>Vielen Dank im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141856</guid><dc:creator><![CDATA[Muhi89]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:29:49 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 13:43:59 GMT]]></title><description><![CDATA[<p>na zum kopieren von objekten!</p>
<pre><code class="language-cpp">testklasse t(10);
testklasse t1;

t1 = t;

//t wurde sozusagen in t1 kopiert
</code></pre>
<p>besonders wichtig ist er, wenn du dynamisch speicher in deiner klasse verwendest, denn da würde der standard-copykonstruktor nicht den inhalt, sondern nur den zeiger kopieren!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141873</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:10:28 GMT]]></title><description><![CDATA[<p>Wäre das nicht der zuweisungsoperator ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141895</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:10:28 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:16:49 GMT]]></title><description><![CDATA[<p>Knuddlbaer schrieb:</p>
<blockquote>
<p>Wäre das nicht der zuweisungsoperator ?</p>
</blockquote>
<p>Doch.<br />
Copycon hat folgende Sig.</p>
<pre><code class="language-cpp">Testklasse( const Testklasse&amp; other );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1141901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141901</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:16:49 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:17:39 GMT]]></title><description><![CDATA[<p>Kopierkonstruktoren funktionieren folgendermaßen, wenn ich mich recht erinnere:</p>
<pre><code>testklasse t(10);
testklasse* t1=new testklasse(t);
</code></pre>
<p>Damit kann man Objekte mit dem Inhalt eines bereits bestehendes Objekts erzeugen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141902</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:17:39 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:21:32 GMT]]></title><description><![CDATA[<p>Ja oder ohne new:</p>
<pre><code class="language-cpp">testklasse t(10);
testklasse t1 = t;
testklasse t2(t);
</code></pre>
<p>Sollte eigentlich beides den Copy-Konstruktor aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141907</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:21:32 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:21:51 GMT]]></title><description><![CDATA[<p>dass damit objekte kopiert werden ist schon klar (daher ja der Name) nur was ich n verstehe: Wieso ein bestehendes Objekt kopieren wenn ich ein neues erstellen kann?<br />
UND: Wieso sind Konstruktor und Copy-K in der selben Klasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141908</guid><dc:creator><![CDATA[Muhi89]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:24:29 GMT]]></title><description><![CDATA[<p>Knuddlbaer meint eher das:</p>
<pre><code class="language-cpp">t1 = t;
</code></pre>
<p>Nichts mit dem Copy C'tor zu tun hat, sondern mit dem Zuweisungsoperator.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141909</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:24:29 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:25:10 GMT]]></title><description><![CDATA[<p>Damit du aus einem bestehenden Objekt ein neues Objekt erstellen kannst. Außerdem kann sowas für die Parameterübergabe wichtig sein, wenn du das Objekt by Value übergibst:</p>
<pre><code class="language-cpp">test t(10);
function(t); // Signatur: void function(test x);
</code></pre>
<p>Dies würde den Aufruf des Copy-Konstruktors erzeugen. Der Copy-Konstruktor ist in der gleichen Klasse, weil er aus einem bestehenden Objekt (das als Parameter übergeben wird) ein neues Objekt konstruiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141911</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:25:10 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:26:07 GMT]]></title><description><![CDATA[<p>Muhi89 schrieb:</p>
<blockquote>
<p>dass damit objekte kopiert werden ist schon klar (daher ja der Name) nur was ich n verstehe: Wieso ein bestehendes Objekt kopieren wenn ich ein neues erstellen kann?<br />
UND: Wieso sind Konstruktor und Copy-K in der selben Klasse?</p>
</blockquote>
<p>Nuja, manchmal braucht man eine Kopie von einem Objekt. Der Copycon erstellt ein neues mit den Werten eines Bestehenden. bei einer flat copy, die vom Compiler autom. erzeugt wird, werden alle Membervariablen bitweise kopiert. Das reicht in vielen Fällen aus. Aber wenn du Zeiger als Member hast, musst du die Inhalte der Zeiger selbst kopieren, da sonst beide Objekte eine Zeiger auf den selben Speicher haben, und das gibt Probleme beim Aufräumen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141913</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:26:24 GMT]]></title><description><![CDATA[<p>K sry falls das jmd so verstanden hat:</p>
<p>Ich meine nicht den standartcopyconbstructor sondern den hier (zB) Studend (Student &amp;s) und ich würd auch gern wissen was es mit dem &amp;s aufsich hat daja s noch gar n existiert.</p>
<p>Lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141914</guid><dc:creator><![CDATA[Muhi89]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:28:50 GMT]]></title><description><![CDATA[<p>Muhi89 schrieb:</p>
<blockquote>
<p>K sry falls das jmd so verstanden hat:</p>
<p>Ich meine nicht den standartcopyconbstructor sondern den hier (zB) Studend (Student &amp;s) und ich würd auch gern wissen was es mit dem &amp;s aufsich hat daja s noch gar n existiert.</p>
<p>Lg</p>
</blockquote>
<p>Student (const Student&amp; s );<br />
Dabei ist s das andere Objekt, von dem kopiert wird. Das neue wird ja erst erstellt, es ist ja ein Konstruktor. &amp; darum, weil sonst nochmal der Copycon aufgerufen würde (Würde der dann nicht rekursiv?),<br />
und const nicht vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141916</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:28:50 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:33:41 GMT]]></title><description><![CDATA[<p>Muhi89 schrieb:</p>
<blockquote>
<p>Ich meine nicht den standartcopyconbstructor sondern den hier (zB) Studend (Student &amp;s) und ich würd auch gern wissen was es mit dem &amp;s aufsich hat daja s noch gar n existiert.</p>
</blockquote>
<p>Das &amp; sagt in diesem Fall aus das s nur eine anderer Name für das an die Funktion übergebene Objekt ist. D.h. es wird nichts kopiert und du ersparst dir eine zusätzliche Kopie eines Objektes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141919</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:33:41 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:37:24 GMT]]></title><description><![CDATA[<p>Bei</p>
<pre><code class="language-cpp">Student &amp;s
</code></pre>
<p>handelt es sich um eine Referenz (normalerweise ein verpackter Zeiger, der automatisch dereferenziert wird). Im Copy-Konstruktor erwartet man normalerweise ein const-Referenz, wodurch sichergestellt ist das das ursprüngliche Objekt nicht verändert wird.</p>
<p>Btw: Ich weiß ja nicht welche Bücher du hast, aber vielleicht solltest du mal nach ordentlichen hier im Forum gucken, da wurden schon oft gute Bücher empfohlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141922</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:37:24 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:40:09 GMT]]></title><description><![CDATA[<p>Ok und wofür verwende ich dann die kopierten Objekte?</p>
<p>Wieso mach ich n gleich neue einer voher bereits bestehenden Klasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141927</guid><dc:creator><![CDATA[Muhi89]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:40:09 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:42:04 GMT]]></title><description><![CDATA[<p>Warum benutzt Du einen Fotokopierer ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141928</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:42:04 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:43:20 GMT]]></title><description><![CDATA[<p>Guck mal auf der ersten Seite, da erwähnte ich bereits das man diesen gebrauchen kann, wenn man ein Objekt by Value an eine Funktion übergeben will. Aber wenn du so fragst könnte man auch fragen wozu überhaupt jemals eine Variable kopieren? Sowas macht man doch oftmals auch um einen bestimmten Status zu sichern um diesen im weiteren Programmverlauf verwenden zu können, genau sowas ist auch bei Objekten oft sehr nützlich. Du solltest bzgl. solcher Fragen evtl. etwas Programmiererfahrung sammeln, dann kannst du sie dir selbst beantworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141930</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:43:20 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:43:56 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Testklasse t1( 4, 5 );
Tesklasse t2( 4, 5 );
//oder
Testklasse t2( t1 );
</code></pre>
<p>Es gibt genügend Anwendungsfälle, wo Du kopieren willst, ohne die Originaldaten zu kennen.<br />
Ausserdem muss der Copycon für viele STL Container verfügbar sein. (Stichwort: <a href="http://www.sgi.com/tech/stl/Assignable.html" rel="nofollow">Assignable</a> )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141932</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to Copy-Konstruktor-Probleme on Thu, 21 Sep 2006 14:46:03 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>(Würde der dann nicht rekursiv?),</p>
</blockquote>
<p>Soweit ich weiß, fangen sowas die Compiler ab. Beispiel:</p>
<pre><code class="language-cpp">class Test {
     public:
             Test() {}
             Test(Test tt) {}
};
</code></pre>
<p>Sollte sich nicht compilieren lassen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141934</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 21 Sep 2006 14:46:03 GMT</pubDate></item></channel></rss>