<?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[dynamische klassen???]]></title><description><![CDATA[<p>hi</p>
<p>wollte mal wissen ob ich klassen auch dynamisch erzeugen lassen kann??<br />
also z.b.:</p>
<pre><code class="language-cpp">const 50

class einheit()
{
int lebenspunkte;
String Name;
}

einheit nr[1]();
...
</code></pre>
<p>oder so weis jemand ob es geht bzw wie es geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> hab schon alles versucht find aber nix und mir erscheints recht umständlich alle 50 einzeln zu erstellen?? bzw mehr oder so ???</p>
<p>hoffe ihr könnt mir helfen</p>
<p>danke schonmal</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/99278/dynamische-klassen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Jul 2026 06:34:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/99278.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Jan 2005 22:05:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dynamische klassen??? on Wed, 26 Jan 2005 22:05:58 GMT]]></title><description><![CDATA[<p>hi</p>
<p>wollte mal wissen ob ich klassen auch dynamisch erzeugen lassen kann??<br />
also z.b.:</p>
<pre><code class="language-cpp">const 50

class einheit()
{
int lebenspunkte;
String Name;
}

einheit nr[1]();
...
</code></pre>
<p>oder so weis jemand ob es geht bzw wie es geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> hab schon alles versucht find aber nix und mir erscheints recht umständlich alle 50 einzeln zu erstellen?? bzw mehr oder so ???</p>
<p>hoffe ihr könnt mir helfen</p>
<p>danke schonmal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/707209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/707209</guid><dc:creator><![CDATA[black-lord-of-doom]]></dc:creator><pubDate>Wed, 26 Jan 2005 22:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Wed, 26 Jan 2005 22:28:52 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>also da sind ja einige Fehler...</p>
<pre><code class="language-cpp">const Zahl 50;

class einheit
{
  int lebenspunkte;
  String Name;
  einheit() {}; // Konstruktor
  };

einheit nr1;  // Statisch
einheit *nr2 = new einheit(); // Dynamisch
delete nr2; // Löschen

einheit *nr3[Zahl]; // Feld mit dynamischen Objekten
for (int Lv = 0; Lv &lt; Zahl; Lv++) // Dynamische Objekte erstellen
  nr3[Lv] = new einheit();

for (int Lv = 0; Lv &lt; Zahl; Lv++) // Dynamische Objekte löschen
  delete nr3[Lv];
</code></pre>
<p>statt dem CArray kann man in BCB auch das DynamicArray nehmen, um die Anzahl komfortabel variabel zu halten</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/707234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/707234</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 26 Jan 2005 22:28:52 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Thu, 27 Jan 2005 08:58:19 GMT]]></title><description><![CDATA[<p>Den Konstruktor kannst du hier getrost weglassen. Weiterhin ist<br />
einheit nr[5]; natürlich auch möglich. Bei dynamischen Feldern könnte man auch<br />
std::vector&lt;einheit&gt; nr; oder so verwenden. Es gibt viele Möglichkeiten. Auf new und delete würde ich bei Anfängern erst mal verzichten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/707426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/707426</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 27 Jan 2005 08:58:19 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Mon, 07 Feb 2005 23:32:35 GMT]]></title><description><![CDATA[<p>wie kann ich des nun machen das ich die lösungsmöglichkeit nr 3 als element von form1 erstellen kann also vonem 2. form mit Form1-&gt;nr[1]. ...<br />
zugreifen aknn</p>
]]></description><link>https://www.c-plusplus.net/forum/post/717342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717342</guid><dc:creator><![CDATA[black-lord-of-doom]]></dc:creator><pubDate>Mon, 07 Feb 2005 23:32:35 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Mon, 07 Feb 2005 23:50:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>über die FAQ im Abschnitt Forms findest du zum Thema <em>Variablenübergabe an anderes Form</em> dieses Thread<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39242" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=39242</a></p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/717348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717348</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 07 Feb 2005 23:50:21 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 00:00:39 GMT]]></title><description><![CDATA[<p>ja aber was davon muss ich nun in die headerdatei schreiben und was in die cpp???weisl der in der headerdatei z.b. des conast int.. udn so net annimmt.?<br />
abber wenn ichs in die cpp schrieb kann ich die net in der :h erzeugen odeR??</p>
<pre><code class="language-cpp">const Zahl 50; 

class einheit 
{ 
  int lebenspunkte; 
  String Name; 
  einheit() {}; // Konstruktor 
}; 

einheit *nr3[Zahl]; // Feld mit dynamischen Objekten 
for (int Lv = 0; Lv &lt; Zahl; Lv++) // Dynamische Objekte erstellen 
  nr3[Lv] = new einheit();
</code></pre>
<p>die ganze zeit wies noch nicht dynamisch was hatte ich alles in der headerdatei drin</p>
<pre><code class="language-cpp">class einheit 
{ 
  int lebenspunkte; 
  String Name; 
  einheit() {}; // Konstruktor 
  }; 

einheit nr31;
einheit nr32;
einheit nr33;
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/717355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717355</guid><dc:creator><![CDATA[black-lord-of-doom]]></dc:creator><pubDate>Tue, 08 Feb 2005 00:00:39 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 11:01:37 GMT]]></title><description><![CDATA[<p>versuch mal in .h</p>
<pre><code class="language-cpp">DynamicArray &lt;einheit*&gt;EinheitNr;
</code></pre>
<p>in der .cpp</p>
<pre><code class="language-cpp">for (int x = 0; x&lt; AnzahlEinheiten;x++)
{
   EinheitNr.Length++;
   EinheitNr[x] = new einheit();
}
</code></pre>
<p>aber natürlich beim schliessen des programms/ der form</p>
<pre><code class="language-cpp">for (int x = AnzahlEinheiten; x &gt;0 ;x--)
{
   delete EinheitNr[x];
   EinheitNr.Length--;
}
</code></pre>
<p>ist ungetestet.. hoffe mal es funktioniert und ich habe richtig verstanden was du willst.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/717528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717528</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Tue, 08 Feb 2005 11:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 11:53:21 GMT]]></title><description><![CDATA[<p>geht leider auch net <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
zeigt dann nur ne fehlermeldung:<br />
*<em>[C++ Fehler] Unit1.cpp(20): E2285 Keine Übereinstimmung für 'TForm1::einheit::einheit(TForm1 <em>)' gefunden</em></em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/717572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717572</guid><dc:creator><![CDATA[black-lord-of-doom]]></dc:creator><pubDate>Tue, 08 Feb 2005 11:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 12:04:43 GMT]]></title><description><![CDATA[<p>Da stimmen wohl Definition und Deklaration des Konstruktors deiner Klasse einheit nicht überein.<br />
Wenn die hier gezeigte Deklaration vollständig ist, kannst den Konstruktor von Einheit weglassen (wie oben schon gesagt).<br />
Warum willst du die Instanzen von einheit unbedingt dynamisch verwalten (sprich Pointer davon)? Auch das ist nicht unbedingt nötig.<br />
folgendes sollte auch reichen</p>
<pre><code class="language-cpp">DynamicArray &lt;einheit&gt; EinheitNr;
EinheitNr.Length = AnzahlEinheiten;
</code></pre>
<p>Dann brauchst du auch kein delete.<br />
Wenn die Anzahl der Einheiten sich später nicht ändert, reicht auch ein statisches Array.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/717582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717582</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 08 Feb 2005 12:04:43 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 12:12:20 GMT]]></title><description><![CDATA[<p>würde das ganze schon gerne so in etwa angehen da dann der zugriff auf die einzelnen objekte leichter ist</p>
<pre><code class="language-cpp">const int Zahl=50;

class einheit
{
  int lebenspunkte;
  String Name;
  einheit() {}; // Konstruktor
};

einheit *nr3[Zahl]; // Feld mit dynamischen Objekten
for (int Lv = 0; Lv &lt; Zahl; Lv++) // Dynamische Objekte erstellen
  nr3[Lv] = new einheit();
</code></pre>
<p>doch selbst hier bringt der schon folgenden fehler raus:<br />
**<br />
[C++ Fehler] Unit1.cpp(32): E2247 Zugriff auf 'einheit::einheit()' nicht möglich**</p>
<p>wie kann ich den fehler beheben?<br />
und mm was muss ich tun um aus dem ganzen ein element von form1 zu machen ?<br />
einfch beim ertellen:</p>
<pre><code class="language-cpp">nr3[Lv] = new einheit(Form1);
</code></pre>
<p>machen????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/717594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717594</guid><dc:creator><![CDATA[black-lord-of-doom]]></dc:creator><pubDate>Tue, 08 Feb 2005 12:12:20 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 12:21:57 GMT]]></title><description><![CDATA[<p>Wiso ist dann der Zugriff auf die Elemente leichter?<br />
Wie gesagt lass den Konstruktor weg. Wenn du unbedingt dynamisch erstellen willst reicht doch</p>
<pre><code class="language-cpp">for (int Lv = 0; Lv &lt; Zahl; Lv++) // Dynamische Objekte erstellen
  nr3[Lv] = new einheit;
</code></pre>
<p>völlig aus.<br />
Wenn das hier<br />
einheit *nr3[Zahl];<br />
im Header Unit1.h im public-Bereich von TForm1 deklariert ist, dann ist deine Variable nr3 doch schon ein Teil von TForm1.<br />
Lies die bitte noch mal den anfangs angegebenen FAQ-Beitrag durch.<br />
Desweiteren vielleicht auch den <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39302" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=39302</a><br />
Vielleicht solltest du lieber dein Design etwas ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/717605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717605</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 08 Feb 2005 12:21:57 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 12:31:50 GMT]]></title><description><![CDATA[<p>einheit.h</p>
<pre><code class="language-cpp">class einheit
{
  private:
  int lebenspunkte;
  String Name;
  public:
  einheit() {}; // Konstruktor
  ~einheit() {};
  void set_lebenspunkte (int lbp)
  {
     lebenspunkte=lbp;
  }
  void set_Name(String nm)
  {
     Name=nm;
  }
  int get_lebenspunkte()
  {
     return lebenspunkte;
  }
  String get_Name()
  {
     return Name;
  }
};
</code></pre>
<p>Unit1.h</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include &lt;Classes.hpp&gt;
#include &lt;Controls.hpp&gt;
#include &lt;StdCtrls.hpp&gt;
#include &lt;Forms.hpp&gt;
#include &quot;einheit.h&quot;
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// Von der IDE verwaltete Komponenten
   TButton *Button1;
private:	// Anwender-Deklarationen
public:		// Anwender-Deklarationen
einheit *nr3;
   __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
</code></pre>
<p>Unit1.cpp</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;vcl.h&gt;
#pragma hdrstop
#include &quot;Unit1.h&quot;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   nr3=new einheit[10];
   for(int i=0;i&lt;10;i++) nr3[i].set_lebenspunkte(i);
   delete nr3;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/717612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717612</guid><dc:creator><![CDATA[dktierfreund]]></dc:creator><pubDate>Tue, 08 Feb 2005 12:31:50 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 12:40:06 GMT]]></title><description><![CDATA[<p>Wenn schon delete dann richtig.<br />
delete[] nr3; <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>
]]></description><link>https://www.c-plusplus.net/forum/post/717622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717622</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 08 Feb 2005 12:40:06 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 12:47:01 GMT]]></title><description><![CDATA[<p>Okay Okay .... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/717630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717630</guid><dc:creator><![CDATA[dktierfreund]]></dc:creator><pubDate>Tue, 08 Feb 2005 12:47:01 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische klassen??? on Tue, 08 Feb 2005 12:53:58 GMT]]></title><description><![CDATA[<p>danke leute nun futzts;) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/717640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/717640</guid><dc:creator><![CDATA[black-lord-of-doom]]></dc:creator><pubDate>Tue, 08 Feb 2005 12:53:58 GMT</pubDate></item></channel></rss>