<?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[Array eines Objektes Initialisieren]]></title><description><![CDATA[<p>Guten tag,</p>
<p>Ich habe folgendes Problem: Ich habe eine Klasse mit einem Konstruktor<br />
mit einem Parameter.</p>
<p>Nun möchte ich ein Array dieser Klasse erzeugen und für alle Klassen den<br />
Konstruktor aufrufen und denen den selben Parameter zuweisen.</p>
<p>Ich hätte da so grob an sowas gedacht (was halt nicht funktioniert),<br />
[code]<br />
TKlasse *ObjektArray;<br />
ObjektArray = new TKlasse[3]{1,1,1};</p>
<p>kann mir ja jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/272164/array-eines-objektes-initialisieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 00:15:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272164.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Aug 2010 19:33:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array eines Objektes Initialisieren on Wed, 11 Aug 2010 19:33:57 GMT]]></title><description><![CDATA[<p>Guten tag,</p>
<p>Ich habe folgendes Problem: Ich habe eine Klasse mit einem Konstruktor<br />
mit einem Parameter.</p>
<p>Nun möchte ich ein Array dieser Klasse erzeugen und für alle Klassen den<br />
Konstruktor aufrufen und denen den selben Parameter zuweisen.</p>
<p>Ich hätte da so grob an sowas gedacht (was halt nicht funktioniert),<br />
[code]<br />
TKlasse *ObjektArray;<br />
ObjektArray = new TKlasse[3]{1,1,1};</p>
<p>kann mir ja jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938877</guid><dc:creator><![CDATA[andersen]]></dc:creator><pubDate>Wed, 11 Aug 2010 19:33:57 GMT</pubDate></item><item><title><![CDATA[Reply to Array eines Objektes Initialisieren on Wed, 11 Aug 2010 19:37:39 GMT]]></title><description><![CDATA[<p>Kann jetzt falsch sein, aber probier einfach mal <code>ObjektArray = new TKlasse[3](1);</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938879</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Wed, 11 Aug 2010 19:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to Array eines Objektes Initialisieren on Wed, 11 Aug 2010 19:40:12 GMT]]></title><description><![CDATA[<p>nach new[] keine Liste.<br />
Bei gleichen Werten würde std::vector einen geeigneten Konstruktor haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938880</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 11 Aug 2010 19:40:12 GMT</pubDate></item><item><title><![CDATA[Reply to Array eines Objektes Initialisieren on Wed, 11 Aug 2010 20:00:11 GMT]]></title><description><![CDATA[<p>zum vector hätte ich da noch ne frage:</p>
<p>wenn ich einen Vector von meiner TKlasse erzeuge<br />
und den Befehl<br />
vector&lt;TKlasse&gt; Stapel;<br />
Stapel.push_back(0);</p>
<p>ausführe, dann hieße das dann ja, dass ich von TKlasse ein Objekt erzeuge, es in Stapel[0] speichere und es durch den Konstruktor mit dem Parameter 0 initialisieren würde, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938893</guid><dc:creator><![CDATA[andersen]]></dc:creator><pubDate>Wed, 11 Aug 2010 20:00:11 GMT</pubDate></item><item><title><![CDATA[Reply to Array eines Objektes Initialisieren on Wed, 11 Aug 2010 21:32:07 GMT]]></title><description><![CDATA[<p>andersen schrieb:</p>
<blockquote>
<p>wenn ich einen Vector von meiner TKlasse erzeuge<br />
und den Befehl</p>
<pre><code class="language-cpp">vector&lt;TKlasse&gt; Stapel;
Stapel.push_back(0);
</code></pre>
<p>ausführe, dann hieße das dann ja, dass ich von TKlasse ein Objekt erzeuge, es in Stapel[0] speichere und es durch den Konstruktor mit dem Parameter 0 initialisieren würde, oder?</p>
</blockquote>
<p>push_back erwartet schon ein Objekt des Typs TKlasse als Parameter, welches dann in den Vektor kopiert wird. Damit dieser Aufruf so funktioniert, müsste TKlasse einen &quot;Konvertierungskonstruktor&quot; haben, der int akzeptiert. Ein Konvertierungskonstruktor ist ein impliziter Konstruktor, der mit einem Parameter aufrufbar ist. Ein impliziter Konstruktor ist ein Konstruktor, der mit einem Parameter aufrufbar ist und ohne das &quot;explicit&quot; Schlüsselwort deklariert wurde.</p>
<p>Ohne so einen impliziten Konstruktor musst Du von Hand ein Objekt erzeugen. ZB so:</p>
<pre><code class="language-cpp">class klasse
{
public:
  explicit klasse(double x);
};

...

meinvector.push_back(klasse(3.1415));
</code></pre>
<p>Das ist die &quot;funktionale Syntax&quot; zum Erzeugen eines temporären Objekts.</p>
<p>Das mit dem Weiterleiten der Konstruktor-Argumente wird es aber in der nächsten C++ Version geben. Die Funktion dazu wird &quot;emplace_back&quot; heißen.</p>
<p>kk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938932</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 11 Aug 2010 21:32:07 GMT</pubDate></item><item><title><![CDATA[Reply to Array eines Objektes Initialisieren on Wed, 11 Aug 2010 22:58:40 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>Das mit dem Weiterleiten der Konstruktor-Argumente wird es aber in der nächsten C++ Version geben. Die Funktion dazu wird &quot;emplace_back&quot; heißen.</p>
</blockquote>
<p>Oh, die ist aber schön. Ich hab sie mir sofort in meine eigene Vector-Klasse gebaut und kann mir deswegen erstmal die Move-Semanik für Dateien sparen. Jetzt frage ich mich, ob push_back überhaupt noch einen Sinn hat, oder ob ich die getrost löschen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938957</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 11 Aug 2010 22:58:40 GMT</pubDate></item><item><title><![CDATA[Reply to Array eines Objektes Initialisieren on Thu, 12 Aug 2010 14:04:13 GMT]]></title><description><![CDATA[<p>erstmal danke krümelkacker.</p>
<p>Ist dieses schlüsselwort explicit zwingend notwendig, weil mein<br />
compiler meckert nicht wenn ich, das ganze ohne ausführe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1939236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1939236</guid><dc:creator><![CDATA[andersen]]></dc:creator><pubDate>Thu, 12 Aug 2010 14:04:13 GMT</pubDate></item><item><title><![CDATA[Reply to Array eines Objektes Initialisieren on Thu, 12 Aug 2010 14:16:44 GMT]]></title><description><![CDATA[<p>andersen schrieb:</p>
<blockquote>
<p>erstmal danke krümelkacker.</p>
<p>Ist dieses schlüsselwort explicit zwingend notwendig, weil mein<br />
compiler meckert nicht wenn ich, das ganze ohne ausführe.</p>
</blockquote>
<p>Nein, überhaupt nicht notwendig. krümelkacker meinte noch nicht einmal, dass du es verwenden solltest. Mach dich mal kundig, was explicit macht, dann wird dir auch klar werden, was er meinte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1939244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1939244</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 12 Aug 2010 14:16:44 GMT</pubDate></item></channel></rss>