<?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übergabe in einer Klasse]]></title><description><![CDATA[<p>Hallo<br />
ich habe in meiner Klasse eine Array Eigenschaft:</p>
<pre><code class="language-cpp">class Karte
{
  public:
  Karte(byte _hoehe, byte _breite, Spieler* _spieler, Kiste* _kisten[], byte _kistenAnzahl);

  ...

  private:
  Spieler* spieler;
  Kiste* kisten[];     //&lt;- Um diese Eiegnschaft geht es
  vector&lt;string&gt; welt;
  unsigned char hoehe,
                breite,
                kistenAnzahl;
};
</code></pre>
<p>Zur erklärung -&gt; ich möchte ein kleines Game schreiben, das ein Spieler enthält und eben mehrere Kisten. Diese kisten muss der Spielr an eine bestimmte position bringen ^^ (ich glaueb ihr wisst was ich meine ^^) -&gt; Da das Spiel aber nicht nur aus EINER kiste bestehen soll, will ihc das mit einem Array lösen. Diese Arry enthält ZEIGER auf ein Kistenobjekt. Das ksitenobjekt enthält nur Position x und position Y ^^</p>
<p>bisher habe ich es so versucht:</p>
<pre><code class="language-cpp">Karte::Karte(byte _hoehe, byte _breite, Spieler* _spieler, Kiste* _kisten[], byte _kistenAnzahl)
:hoehe(_hoehe)
,breite(_breite)
,spieler(_spieler)
,kistenAnzahl(_kistenAnzahl)
{
 for(int i=0;i&lt;kistenAnzahl;i++)
 {
   kisten[i]=_kisten[i];      
 }
 ...
}
</code></pre>
<p>-&gt; Komiler hat zwar nicht rum gemekert aber es geht trozdem nicht -&gt; programm stürzt ab -.-<br />
ich habe den Konstruktur so aufgerfen:</p>
<pre><code class="language-cpp">Spieler spieler(0,0);
    Kiste* kisten[2];
    kisten[0]= new Kiste(0,1);
    kisten[1]= new Kiste(2,0);
    Karte karte(10,10,&amp;spieler,kisten,2);
</code></pre>
<p>ich hoffe diese Infos reichen -&gt; will ja nicht gleich den ganze Code posten :p</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198939/arrayübergabe-in-einer-klasse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 19:13:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198939.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Nov 2007 10:27:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Arrayübergabe in einer Klasse on Tue, 27 Nov 2007 10:27:38 GMT]]></title><description><![CDATA[<p>Hallo<br />
ich habe in meiner Klasse eine Array Eigenschaft:</p>
<pre><code class="language-cpp">class Karte
{
  public:
  Karte(byte _hoehe, byte _breite, Spieler* _spieler, Kiste* _kisten[], byte _kistenAnzahl);

  ...

  private:
  Spieler* spieler;
  Kiste* kisten[];     //&lt;- Um diese Eiegnschaft geht es
  vector&lt;string&gt; welt;
  unsigned char hoehe,
                breite,
                kistenAnzahl;
};
</code></pre>
<p>Zur erklärung -&gt; ich möchte ein kleines Game schreiben, das ein Spieler enthält und eben mehrere Kisten. Diese kisten muss der Spielr an eine bestimmte position bringen ^^ (ich glaueb ihr wisst was ich meine ^^) -&gt; Da das Spiel aber nicht nur aus EINER kiste bestehen soll, will ihc das mit einem Array lösen. Diese Arry enthält ZEIGER auf ein Kistenobjekt. Das ksitenobjekt enthält nur Position x und position Y ^^</p>
<p>bisher habe ich es so versucht:</p>
<pre><code class="language-cpp">Karte::Karte(byte _hoehe, byte _breite, Spieler* _spieler, Kiste* _kisten[], byte _kistenAnzahl)
:hoehe(_hoehe)
,breite(_breite)
,spieler(_spieler)
,kistenAnzahl(_kistenAnzahl)
{
 for(int i=0;i&lt;kistenAnzahl;i++)
 {
   kisten[i]=_kisten[i];      
 }
 ...
}
</code></pre>
<p>-&gt; Komiler hat zwar nicht rum gemekert aber es geht trozdem nicht -&gt; programm stürzt ab -.-<br />
ich habe den Konstruktur so aufgerfen:</p>
<pre><code class="language-cpp">Spieler spieler(0,0);
    Kiste* kisten[2];
    kisten[0]= new Kiste(0,1);
    kisten[1]= new Kiste(2,0);
    Karte karte(10,10,&amp;spieler,kisten,2);
</code></pre>
<p>ich hoffe diese Infos reichen -&gt; will ja nicht gleich den ganze Code posten :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1410851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410851</guid><dc:creator><![CDATA[Rainu]]></dc:creator><pubDate>Tue, 27 Nov 2007 10:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe in einer Klasse on Tue, 27 Nov 2007 10:34:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Die Größe deines Kistenarrays muss zur Laufzeit bekannt sein wenn du es auf dem Stack anlegen willst. Du kannst es auch dynamisch machen. Am einfachsten wäre es wohl wenn du auch hier einen vector verwendest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1410857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410857</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 27 Nov 2007 10:34:37 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe in einer Klasse on Tue, 27 Nov 2007 10:39:14 GMT]]></title><description><![CDATA[<p>ja das mit dem vector habe ich mir auch schon gedacht -&gt; und bin gerade dabei es umzusetzten -&gt; klappt auch wunderbar -&gt; wollte es aber auch mal mit &quot;normalen&quot; Arrays probieren -&gt; da ich mit arrayübergaben immer so meine Probleme habe ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1410859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410859</guid><dc:creator><![CDATA[Rainu]]></dc:creator><pubDate>Tue, 27 Nov 2007 10:39:14 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe in einer Klasse on Tue, 27 Nov 2007 14:27:05 GMT]]></title><description><![CDATA[<p>?</p>
<pre><code class="language-cpp">Karte::Karte(Object* objs, std::size_t count) : m_objects(new Object[count])
{
    std::copy(objs, objs + count, m_objects);
}

Karte::~Karte()
{ delete [] m_objects; }
</code></pre>
<p>oder wie meinst de?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411046</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 27 Nov 2007 14:27:05 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayübergabe in einer Klasse on Tue, 27 Nov 2007 14:50:16 GMT]]></title><description><![CDATA[<p>Ich fange da immer noch 0 ab.</p>
<pre><code class="language-cpp">Karte::Karte(Object* objs, std::size_t count) : m_objects(count ? new Object[count] : 0)
{
   if( count )    
     std::copy(objs, objs + count, m_objects);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1411070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411070</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 27 Nov 2007 14:50:16 GMT</pubDate></item></channel></rss>