<?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[Feld von Objekten mit unterschiedlichem Konstruktoraufruf]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe eine Klasse FlyBubble deren Konstruktor ein Argumente<br />
erwartet. Ausserdem habe ich einen Pointer auf Instanzen der<br />
Klasse, diesen habe ich mit &quot;FlyBubble *Bubbles;&quot; deklariert.<br />
Ich benötige ein Feld mit Instanzen meiner Klasse, welche dem<br />
Konstruktur einen unterschiedlichen Parameter übergeben.<br />
Zuerst dachte ich an<br />
&quot;Bubbles=new FlyBubble[DIRECTIONS](0)&quot;<br />
allerdings erzeugt mir das mehrfach das selbe Objekt.<br />
Ich benötige jedoch sowas in der Art wie:<br />
Bubbles[0]=new FlyBubble(0);<br />
Bubbles[1]=new FlyBubble(1);<br />
Bubbles[2]=new FlyBubble(2);<br />
...</p>
<p>Wie kann ich das erreichen ohne den Konstruktur unnötig oft<br />
aufzurufen?</p>
<p>red</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/141255/feld-von-objekten-mit-unterschiedlichem-konstruktoraufruf</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 13:20:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/141255.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Mar 2006 14:31:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Mon, 20 Mar 2006 14:31:29 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe eine Klasse FlyBubble deren Konstruktor ein Argumente<br />
erwartet. Ausserdem habe ich einen Pointer auf Instanzen der<br />
Klasse, diesen habe ich mit &quot;FlyBubble *Bubbles;&quot; deklariert.<br />
Ich benötige ein Feld mit Instanzen meiner Klasse, welche dem<br />
Konstruktur einen unterschiedlichen Parameter übergeben.<br />
Zuerst dachte ich an<br />
&quot;Bubbles=new FlyBubble[DIRECTIONS](0)&quot;<br />
allerdings erzeugt mir das mehrfach das selbe Objekt.<br />
Ich benötige jedoch sowas in der Art wie:<br />
Bubbles[0]=new FlyBubble(0);<br />
Bubbles[1]=new FlyBubble(1);<br />
Bubbles[2]=new FlyBubble(2);<br />
...</p>
<p>Wie kann ich das erreichen ohne den Konstruktur unnötig oft<br />
aufzurufen?</p>
<p>red</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020337</guid><dc:creator><![CDATA[reddevil]]></dc:creator><pubDate>Mon, 20 Mar 2006 14:31:29 GMT</pubDate></item><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Mon, 20 Mar 2006 16:36:26 GMT]]></title><description><![CDATA[<p>vll. definierst in der Bubble klasse ein statischen Zähler , welches sicher immer bei jedem aufruf wenn ein Feld element erzeugt wird..<br />
ist nur so ne Idee..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020444</guid><dc:creator><![CDATA[BorisProgger]]></dc:creator><pubDate>Mon, 20 Mar 2006 16:36:26 GMT</pubDate></item><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Tue, 21 Mar 2006 09:43:40 GMT]]></title><description><![CDATA[<blockquote>
<p>Wie kann ich das erreichen ohne den Konstruktur unnötig oft<br />
aufzurufen?</p>
</blockquote>
<p>Was meinst du mit unnötig oft? Weniger als einmal pro Objekt geht nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020909</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Tue, 21 Mar 2006 09:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Tue, 21 Mar 2006 10:06:01 GMT]]></title><description><![CDATA[<p>mit unnötig mein ich folgendes:</p>
<p>Bubbles=new FlyBubble[DIRECTIONS](0)<br />
Dabei wird der Konstruktur DIRECTIONS-mal aufgerufen.<br />
(Hierrauf bezieht sich das &quot;umsonst&quot;, da ich die Einträge direkt mit den von mir gewollten Objekten überschreibe)</p>
<p>Im Anschluß daran kommt</p>
<p>for(int i=0;i&lt;DIRECTIONS;++i)<br />
Bubbles[i]=new FlyBubble(i);</p>
<p>Dabei wird der Konstruktor nochmal DIRECTIONS-mal aufgerufen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020948</guid><dc:creator><![CDATA[reddevil]]></dc:creator><pubDate>Tue, 21 Mar 2006 10:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Tue, 21 Mar 2006 10:16:39 GMT]]></title><description><![CDATA[<p>Ich glaube Du verwechselst da gerade irgendwas...</p>
<pre><code class="language-cpp">Bubbles = new FlyBubble[ANZAHL];
</code></pre>
<p>Ruft den Constructor ANZAHL mal auf, richtig, aber danach ist es nicht möglich folgendes zu tun:</p>
<pre><code class="language-cpp">Bubbles[i] = new FlyBubble(i);
</code></pre>
<p>Denn Bubbles[i] ist ein Objekt, und kein Zeiger. Du kannst einem Objekt keinen Zeiger-auf-Objekt zuweisen. Wenn Du andererseits jedoch</p>
<pre><code class="language-cpp">Bubbles = new FlyBubble*[ANZAHL];
</code></pre>
<p>machst, wird nicht der Konstruktor von FlyBubble ANZAHL mal aufgerufen, sondern der Konstruktor von FlyBubble*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020959</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 21 Mar 2006 10:16:39 GMT</pubDate></item><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Tue, 21 Mar 2006 10:27:33 GMT]]></title><description><![CDATA[<p>ah stimmt, da hast du natürlich Recht.</p>
<p>Was ich meinte war wohl eher:<br />
for(int i=0;i&lt;DIRECTIONS;++i)<br />
Bubbles[i]=*(new FlyBubble(i));</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020968</guid><dc:creator><![CDATA[reddevil]]></dc:creator><pubDate>Tue, 21 Mar 2006 10:27:33 GMT</pubDate></item><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Tue, 21 Mar 2006 10:32:21 GMT]]></title><description><![CDATA[<p>Du kannst Placement new verwenden:</p>
<pre><code class="language-cpp">unsigned int i, cnt = 3;

	// Speicher reservieren
	Foo *ptr = static_cast&lt; Foo *&gt;( ::operator new( sizeof( Foo )*cnt ) );

	// Konstruktor aufrufe
	for ( i = 0; i &lt; cnt; ++i )
	{
		new( &amp;ptr[ i ] ) Foo( i );
	}

	// Destruktor aufrufe
	for ( i = 0; i &lt; cnt; ++i )
	{
		ptr[ i ].~Foo();
	}

	// Speicher freigeben
	::operator delete( ptr );
</code></pre>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020976</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 21 Mar 2006 10:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Wed, 22 Mar 2006 09:34:37 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>Du kannst Placement new verwenden:</p>
</blockquote>
<p>Ist euch ein std::vector zu einfach?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021535</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Wed, 22 Mar 2006 09:34:37 GMT</pubDate></item><item><title><![CDATA[Reply to Feld von Objekten mit unterschiedlichem Konstruktoraufruf on Wed, 22 Mar 2006 09:47:52 GMT]]></title><description><![CDATA[<p>Genau! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021543</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 22 Mar 2006 09:47:52 GMT</pubDate></item></channel></rss>