<?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[Objekte dynamisch anlegen und initialisieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich mehrere Objekte anlegen und mit überladenem Konstruktor unterschiedlich initialisieren ?</p>
<pre><code class="language-cpp">Objekt *pObjektListe = new Objekt[100];

// bestehendes Objekt eintragen
// erzeugt mit default Ctor
pObjektListe[0] = *myObjekt1;
pObjektListe[1] = *myObjekt2;

// das funktioniert nicht
// neues Objekt mit überladenem Ctor
pObjektListe[2] = new Objekt( 10, &quot;Text&quot;, 500 );
</code></pre>
<p>Wie kann ich das Objekt in ...Liste[2] neu anlegen bzw. anders initialisieren ?</p>
<p>Danke und Gruß</p>
<p>WoWe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161094/objekte-dynamisch-anlegen-und-initialisieren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 17:33:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161094.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Oct 2006 10:53:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekte dynamisch anlegen und initialisieren on Tue, 03 Oct 2006 10:53:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich mehrere Objekte anlegen und mit überladenem Konstruktor unterschiedlich initialisieren ?</p>
<pre><code class="language-cpp">Objekt *pObjektListe = new Objekt[100];

// bestehendes Objekt eintragen
// erzeugt mit default Ctor
pObjektListe[0] = *myObjekt1;
pObjektListe[1] = *myObjekt2;

// das funktioniert nicht
// neues Objekt mit überladenem Ctor
pObjektListe[2] = new Objekt( 10, &quot;Text&quot;, 500 );
</code></pre>
<p>Wie kann ich das Objekt in ...Liste[2] neu anlegen bzw. anders initialisieren ?</p>
<p>Danke und Gruß</p>
<p>WoWe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148564</guid><dc:creator><![CDATA[WoWe]]></dc:creator><pubDate>Tue, 03 Oct 2006 10:53:17 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte dynamisch anlegen und initialisieren on Tue, 03 Oct 2006 10:58:09 GMT]]></title><description><![CDATA[<p>Benutze besser einen STL-Container; etwa so</p>
<pre><code class="language-cpp">std::vector&lt; Objekt&gt; objekte;
objekte.push_back( Objekt( 10, &quot;Text&quot;, 500 ) );
objekte.push_back( Objekt( 12, &quot;noch ein Text&quot;, 499 ) );
// usw.
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148568</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 03 Oct 2006 10:58:09 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte dynamisch anlegen und initialisieren on Tue, 03 Oct 2006 11:47:31 GMT]]></title><description><![CDATA[<p>Hallo Werner,</p>
<p>vielen Dank für deinen Tip. Hab ich jetzt mit &quot;vector&quot; gemacht und funktioniert auch. Kannst du mir bitte noch sagen (nur für mein Verständnis) was an meinem Beispiel falsch war und warum du std::vector benutzt.</p>
<p>WoWe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148601</guid><dc:creator><![CDATA[WoWe]]></dc:creator><pubDate>Tue, 03 Oct 2006 11:47:31 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte dynamisch anlegen und initialisieren on Tue, 03 Oct 2006 16:02:10 GMT]]></title><description><![CDATA[<p>Das Problem bei deinem Code ist, dass du versuchst in der pObjektliste[2] einen Zeiger zu speichern, während du in pobjekt[0] und pObjekt[1] richtige Objekte speicherst.</p>
<p>Dein Quellcode würde ohne Fehler ausgeführt wenn du folgendes Schreibst:</p>
<pre><code>pObjekt[2] = *(new Objekt[10, &quot;Text&quot;, 500));
</code></pre>
<p>Ist zwar dann syntaktisch richtig jedoch ein logischer Fehler, weil du dann ein MemoryLeak erzeugst oO.</p>
<p>EDIT:<br />
Alternativ könntest du auch eine Liste mit Zeigern erstellen:</p>
<pre><code>Objekt *pObjektListe[100]; // = new Objekt[100]; 

// bestehendes Objekt eintragen 
// erzeugt mit default Ctor 
pObjektListe[0] = myObjekt1; 
pObjektListe[1] = myObjekt2; 

// das funktioniert nicht 
// neues Objekt mit überladenem Ctor 
pObjektListe[2] = new Objekt( 10, &quot;Text&quot;, 500 );
</code></pre>
<p>Doch hättest du dann ein Problem mit dem freigeben.<br />
Du weißt schließlich nicht welche Zeiger auf den Heap zeigen und welche nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148750</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 03 Oct 2006 16:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte dynamisch anlegen und initialisieren on Tue, 03 Oct 2006 15:56:42 GMT]]></title><description><![CDATA[<p>WoWe schrieb:</p>
<blockquote>
<p>Kannst du mir bitte noch sagen (nur für mein Verständnis) was an meinem Beispiel falsch war und warum du std::vector benutzt.</p>
</blockquote>
<p>Hallo WoWe,</p>
<p>nicht wirklich falsch, aber sehr umständlich, weil Du sowohl den Speicher der dynamisch erzeugten Objekte als auch den Speicher für die Pointer wieder freigeben must. Es ist nicht dynamisch, da Du auf 100 Einträge begrenzt bist und vor allem ist es fehlerträchtig. Ich unterstelle mal, dass 'myObjekt1/2' auf dem Stack liegen oder Member einer Klasse sind und 'pObjektListe[2]' liegt auf dem Heap. Später beim Freigeben des Speichers musst Du das berücksichtigen. Dabei können naturgemäß Fehler gemacht werden.<br />
std::vector&lt;&gt; nimmt Dir diese Arbeit ab.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148752</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 03 Oct 2006 15:56:42 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte dynamisch anlegen und initialisieren on Tue, 03 Oct 2006 16:07:27 GMT]]></title><description><![CDATA[<p>Was das &quot;nicht dynamisch&quot; angeht.</p>
<p>vektor macht das intern nicht viel anders, sollte es dann mehr Einträge geben als vorhanden sind, wird eine neue Liste erstellt mir mehr platz, die alten daten werden &quot;umgezeigt&quot; und die neuen hinzugefügt.</p>
<p>Aber wäre halt, wie du es schon erwähnt hattest, ziemlich umständlich und fehleranfällig dies selbst zu erledigen, aber immerhin möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148755</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 03 Oct 2006 16:07:27 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte dynamisch anlegen und initialisieren on Tue, 03 Oct 2006 17:02:51 GMT]]></title><description><![CDATA[<p>Vielen Dank für eure Antworten, hat mir sehr geholfen ! Dann werde ich mich doch mal mit der STL beschäftigen.</p>
<p>Gruß WoWe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148783</guid><dc:creator><![CDATA[WoWe]]></dc:creator><pubDate>Tue, 03 Oct 2006 17:02:51 GMT</pubDate></item></channel></rss>