<?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[Instanzierung über for schleife]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgende Frage:</p>
<p>Ich möchte ein integer vorgeben. Eine Klasse wird nun so oft instanziert wie der Wert des integer vorgibt. Also quasi</p>
<pre><code class="language-cpp">int a;
for(a;a&gt;0;a--)
{
MyClass* MyInstance = new MyClass()
}
</code></pre>
<p>Nun muss aber jede Instanz einen eigenen Namen haben. Hiernach würden ja alle den gleichen bekommen. Wie soll das nun gehen?<br />
An genau der Stelle endet leider mein Wissen.</p>
<p>Bitte um Hilfe</p>
<p>Dank im Vorraus<br />
Thorsten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/254085/instanzierung-über-for-schleife</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 03:38:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254085.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Nov 2009 14:11:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Instanzierung über for schleife on Wed, 11 Nov 2009 14:11:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgende Frage:</p>
<p>Ich möchte ein integer vorgeben. Eine Klasse wird nun so oft instanziert wie der Wert des integer vorgibt. Also quasi</p>
<pre><code class="language-cpp">int a;
for(a;a&gt;0;a--)
{
MyClass* MyInstance = new MyClass()
}
</code></pre>
<p>Nun muss aber jede Instanz einen eigenen Namen haben. Hiernach würden ja alle den gleichen bekommen. Wie soll das nun gehen?<br />
An genau der Stelle endet leider mein Wissen.</p>
<p>Bitte um Hilfe</p>
<p>Dank im Vorraus<br />
Thorsten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806494</guid><dc:creator><![CDATA[silentpolygon]]></dc:creator><pubDate>Wed, 11 Nov 2009 14:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to Instanzierung über for schleife on Wed, 11 Nov 2009 14:17:56 GMT]]></title><description><![CDATA[<p>Da fehlen Grundlagen, die man nicht mal eben kurz erklären kann. Hier zwei Stichworte die dir helfen, dir selbst zu helfen:</p>
<ol>
<li>Arrays</li>
<li>std::vector</li>
</ol>
<p>Außerdem: Hast du früher Java programmiert? Ich habe den Eindruck, du weißt nicht so recht, wozu man in C++ new verwendet und wann man new überhaupt nicht braucht. Du solltest dir das nochmal angucken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806503</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 11 Nov 2009 14:17:56 GMT</pubDate></item><item><title><![CDATA[Reply to Instanzierung über for schleife on Wed, 11 Nov 2009 14:33:25 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ach, ich habe gerade Langeweile: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;iostream&gt;

int main() {
   unsigned int a;
   if(!(std::cin &gt;&gt; a) || a &lt; 1) {
      std::cerr &lt;&lt; &quot;Falsche Eingabe!\n&quot;;
      return 1;
   }

   std::vector&lt;MyClass&gt; myInstances;

   for(a;a&gt;0;a--) myInstances.push_back(MyClass());

   myInstances[0].mach_was(); // ruft mach_was() vom ersten MyClass-Objekt auf
}
</code></pre>
<p>Ergo: Du bekommst nicht a viele &quot;Namen&quot;, sondern <em>einen</em> Namen (myInstances), hinter dem sich alle Instanzen verbergen (besser: Über den alle Instanzen verwaltet werden).</p>
<p>Im konkreten Fall (Default-initialisierte Objekte) würde statt der SChleife sogar reichen:</p>
<pre><code class="language-cpp">...
   std::vector&lt;MyClass&gt; myInstances(a);

   myInstances[0].mach_was(); // ruft mach_was() vom ersten MyClass-Objekt auf
}
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
<p>P.S.: Wenn Du nicht selbst sicherstellen kannst/willst, dass Du nur auf Elemente von myInstances zugreifst, die es auch gibt, nimmst Du nicht &quot;[]&quot;, sondern &quot;.at()&quot;:</p>
<pre><code class="language-cpp">...
   myInstances.at(0).mach_was();
}
</code></pre>
<p>Dann fliegt im Fehlerfall eine Exception.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1806512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1806512</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 11 Nov 2009 14:33:25 GMT</pubDate></item></channel></rss>