<?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 Arrays]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe folgende Klass Konto:</p>
<pre><code class="language-cpp">class Konto {

      private:
              int Kontonummer;
              };
</code></pre>
<p>Dazu erzeuge ich dynamisch 10 Objekte in einem Array:</p>
<pre><code class="language-cpp">Konto *k1 = new Konto [10];
</code></pre>
<p>Geht das auch anders, also in der Art von:</p>
<pre><code class="language-cpp">Konto *k1 [10];

    k1 = new Konto();
</code></pre>
<p>==&gt; So klappt es aber nicht, es erscheint eine Fehlermeldung. Wisst ihr hier noch einen Weg?</p>
<p>Wie läuft denn hier das löschen ab?<br />
Mit delete k1 kann ich ja das komplette Array wieder löschen. Aber geht das auch für jedes Element des Arrays, oder nur komplett?</p>
<p>Danke!</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/290166/dynamische-arrays</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 16:07:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/290166.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Jul 2011 17:16:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dynamische Arrays on Wed, 20 Jul 2011 17:16:12 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe folgende Klass Konto:</p>
<pre><code class="language-cpp">class Konto {

      private:
              int Kontonummer;
              };
</code></pre>
<p>Dazu erzeuge ich dynamisch 10 Objekte in einem Array:</p>
<pre><code class="language-cpp">Konto *k1 = new Konto [10];
</code></pre>
<p>Geht das auch anders, also in der Art von:</p>
<pre><code class="language-cpp">Konto *k1 [10];

    k1 = new Konto();
</code></pre>
<p>==&gt; So klappt es aber nicht, es erscheint eine Fehlermeldung. Wisst ihr hier noch einen Weg?</p>
<p>Wie läuft denn hier das löschen ab?<br />
Mit delete k1 kann ich ja das komplette Array wieder löschen. Aber geht das auch für jedes Element des Arrays, oder nur komplett?</p>
<p>Danke!</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2095519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095519</guid><dc:creator><![CDATA[Mario22]]></dc:creator><pubDate>Wed, 20 Jul 2011 17:16:12 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische Arrays on Wed, 20 Jul 2011 17:27:03 GMT]]></title><description><![CDATA[<p>Hier mal eine kleine Liste:</p>
<pre><code class="language-cpp">//Einzelnes Konto:
Konto* ZeigerAufEinzelnesKonto = new Konto;
//Zugreiffen
ZeigerAufEinzelnesKonto-&gt;Funktion();
//Einzelnes Konto löschen:
delete ZeigerAufEinzelnesKonto;

//Mehrere Konten:
Konto* ZeigerAufMehrereKonten = new Konto[10];
//Zugreiffen
ZeigerAufMehrereKonten[3].Funktion();
//Mehrere Konten löschen:
delete[] ZeigerAufMehrereKonten ;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2095525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095525</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Wed, 20 Jul 2011 17:27:03 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische Arrays on Wed, 20 Jul 2011 17:33:40 GMT]]></title><description><![CDATA[<p>Und bevor du dich unnötig damit herumplagst, schau dir mal die std::vector&lt;&gt; an.</p>
<p>Mario22 schrieb:</p>
<blockquote>
<p>Geht das auch anders, also in der Art von:</p>
<pre><code class="language-cpp">Konto *k1 [10];
    
    k1 = new Konto();
</code></pre>
<p>==&gt; So klappt es aber nicht, es erscheint eine Fehlermeldung. Wisst ihr hier noch einen Weg?</p>
</blockquote>
<p>Hier hast du nicht einen einzelnen Zeiger angelegt, sondern ein Array mit 10 Zeigern. Das heißt, du müsstest jedes Element einzeln anlegen ( <code>k1[5]=new Konto();</code> ) und wieder freigeben ( <code>delete K1[5];</code> ). Ein delete direkt auf das Array angewendet ist undefiniertes Verhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2095531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2095531</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 20 Jul 2011 17:33:40 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische Arrays on Thu, 21 Jul 2011 22:53:20 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab noch ne Frage dazu:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;

using namespace std;

    class Test {

          protected:
                  int a;

          public:
          void seta (int a) {this-&gt;a = a;}

          void ausgeben () {
                          cout &lt;&lt; &quot;a hat den Wert: &quot; &lt;&lt;a &lt;&lt; endl; }

          };

int main(int argc, char *argv[])
{

    Test *test1 = new Test[10];

    for(int i = 0; i &lt; 10; i++) {

        test1[i].seta(i);      /////Warum schreibt man hier nicht test1[i]-&gt;seta(i)
                               //// WAs würde test-&gt;seta(i) bewirken??
        test1[i].ausgeben();

        }

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Könnt ihr mir bitte bei den Anmerkungen im Quelltext helfen?? Meine IDee:</p>
<p>bei test1[i].seta(i) Wird direkt mit dem dereferenzierten Objekt gearbeitet, und nicht mit einem Zeiger?</p>
<p>test1[i]-&gt; seta(i) meldet einen Compilerfehler WARUM????</p>
<p>test-&gt;seta(i) setzt für das erste Element des Arrays den Wert i?</p>
<p>Was meint ihr dazu?</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096304</guid><dc:creator><![CDATA[Mario22]]></dc:creator><pubDate>Thu, 21 Jul 2011 22:53:20 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische Arrays on Fri, 22 Jul 2011 06:23:35 GMT]]></title><description><![CDATA[<p>Mit<br />
Test *test1 = new Test[10];<br />
legst Du ein Array von 10 <strong>Objekten</strong> vom Typ Test an, und nicht etwa 10 <strong>Zeiger</strong>.<br />
testl[0] - testl[9] enthalten also Objekte, auf deren Member man mit dem .Operator zugreift. Der -&gt;Operator funktioniert nicht, weil diese Arrayelemente keine Zeiger sind.</p>
<p>Würdest Du ein Zeigerarray anlegen:<br />
Test *test1 = new Test*[10];<br />
müsstest Du vor dem Zugriff mit dem -&gt;Operator die Objekte erst noch anlegen:</p>
<pre><code class="language-cpp">for(int i = 0; i &lt; 10; ++i)
    testl[i] = new Test;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2096335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096335</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Fri, 22 Jul 2011 06:23:35 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische Arrays on Fri, 22 Jul 2011 15:45:30 GMT]]></title><description><![CDATA[<p>Der <code>-&gt;</code> -Operator <strong>dereferenziert</strong> und <strong>greift auf die Member zu</strong>.<br />
Der <code>[]</code> -Operator <strong>dereferenziert</strong> ein beliebiges Objekt.<br />
Der <code>.</code> -Operator <strong>greift auf die Member zu</strong>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096340</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Fri, 22 Jul 2011 15:45:30 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische Arrays on Fri, 22 Jul 2011 15:04:11 GMT]]></title><description><![CDATA[<p>Hi!</p>
<blockquote>
<p>Der []-Operator dereferenziert ein beliebiges Objekt</p>
</blockquote>
<p>Das war das richtige Stichwort <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="🙂"
    /> Danke!</p>
<p>Ein Array ist ja z.B. so aufgebaut:</p>
<pre><code class="language-cpp">int array [] = {1,2,3,4};
</code></pre>
<p>kann man dann z.B. auch so etwas in der Art machen:</p>
<pre><code class="language-cpp">int *array[] = {1,2,3,4};
</code></pre>
<p>Funktioniert zwar wie oben steht nicht, aber ich hoffe ihr versteht was ich meine? <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="🙂"
    /><br />
Es sollte so etwas in der Art rauskommen:</p>
<pre><code class="language-cpp">Konto *k1 = new Konto [10];
</code></pre>
<p>Dannke!</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096578</guid><dc:creator><![CDATA[Mario22]]></dc:creator><pubDate>Fri, 22 Jul 2011 15:04:11 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische Arrays on Fri, 22 Jul 2011 15:45:04 GMT]]></title><description><![CDATA[<p>Sorry, ich verstehe dich nicht ganz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2096601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096601</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Fri, 22 Jul 2011 15:45:04 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische Arrays on Fri, 22 Jul 2011 15:47:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Konto *k1; // Ein Zeiger
k1 = new Konto [10]; // Ein Zeiger, der auf den Anfang eines Arrays zeigt, das aus 10 Konto-Elemente besteht.

int array[] = {1,2,3,4}; // Ein Array, bestehend aus 4 int-Elementen.

int *zeiger_array[4]; // Ein Array, bestehend aus 4 int-Zeigern.
int i = 1;
zeiger_array[0] = &amp;i; // Zeiger (erste Element des Arrays) zeigt auf ein int.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2096602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2096602</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 22 Jul 2011 15:47:31 GMT</pubDate></item></channel></rss>