<?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[Konstruktor mit new?]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe grade Code gefunden und frage mich, ob das Anlegen von Konstruktoren anch dem Schema...</p>
<pre><code class="language-cpp">class B 
{
public:
B() : x(new int [1000]) {}
~B() { delete [] x; }
int * x;
};
</code></pre>
<p>...so geht?<br />
Ich kenne new/delete noch nicht so lange und bin daher unsicher.<br />
Vor allem verstehe ich den Doppelpunkt im Konstruktor nicht, die Syntax ist mir schleierhaft.</p>
<p>Ich brauche nur eine kurze Erklärung, wie der Konstruktor hier funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267565/konstruktor-mit-new</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 11:57:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267565.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 May 2010 15:27:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konstruktor mit new? on Wed, 26 May 2010 15:27:41 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe grade Code gefunden und frage mich, ob das Anlegen von Konstruktoren anch dem Schema...</p>
<pre><code class="language-cpp">class B 
{
public:
B() : x(new int [1000]) {}
~B() { delete [] x; }
int * x;
};
</code></pre>
<p>...so geht?<br />
Ich kenne new/delete noch nicht so lange und bin daher unsicher.<br />
Vor allem verstehe ich den Doppelpunkt im Konstruktor nicht, die Syntax ist mir schleierhaft.</p>
<p>Ich brauche nur eine kurze Erklärung, wie der Konstruktor hier funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902809</guid><dc:creator><![CDATA[Nerdine]]></dc:creator><pubDate>Wed, 26 May 2010 15:27:41 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor mit new? on Wed, 26 May 2010 15:35:13 GMT]]></title><description><![CDATA[<p>Ich verstehe deine Frage nicht wirklich. Warum sollte hier etwas nicht gehen?</p>
<p>Wenn man mal davon absieht das die Klasse B zu Zugriffsverletzungen führen wird (Diese Klasse benötigt noch einen Kopierkonstruktor und Zuweisungsoperator). Sobald man einen eigenen Konstruktor schreibt, ist die Wahrscheinlichkeit recht hoch, das die Anderen beiden ebenso selbst geschrieben werden müssen (Bei manueller Speicherverwaltung mit new/delete und normalen Zeigern gilt dies immer).</p>
<p>Der Doppelpunkt wiederum beginnt die Initialisierungsliste. Du musst bei einen Konstruktor zwischen der Initialisierungsliste und den Konstruktorrumpf unterscheiden. In der Initialisierungsliste finden Initialisierungen statt, im Konstruktorrumpf existieren die Member bereits, und es ist nur noch eine Zuweisung möglich. Die Initialisierungsliste ist dem Konstruktorrumpf vorzuziehen, zudem benötigst du diese bei der Initialisierung von Konstanten, Referenzen, sowie dem Aufruf eines alternativen Konstruktors der Basisklasse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902812</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 26 May 2010 15:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor mit new? on Wed, 26 May 2010 16:08:05 GMT]]></title><description><![CDATA[<p>Vielen Dank, das hilft schon weiter.</p>
<p>Der Code kommt aus einer Aufgabe, in der Fehler zu korrigieren sind. Jetzt weiß ich, dass ich wohl etwas anderes korrigieren muss.</p>
<p>Gelernt hab ich trotzdem was, Danke! (Der Doppelpunkt..)<br />
Und vielleicht ist der fehlende Copykonstruktor/Zuweisungsoperator ja auch der Fehler, kann sein dass die Übungsleiter das meinten.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902825</guid><dc:creator><![CDATA[Nerdine]]></dc:creator><pubDate>Wed, 26 May 2010 16:08:05 GMT</pubDate></item></channel></rss>