<?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[vector größe in klasse]]></title><description><![CDATA[<p>Habe folgendes problem,<br />
wenn ich einen vector in einer klasse erstelle:</p>
<pre><code class="language-cpp">class Punkt{
        public
          vector&lt;Punkt&gt; vectorName;
};
</code></pre>
<p>Dann kann ich keine größe des vectors festlegen,<br />
lege ich die größe trotzdem fest dann kann ich innerhalb<br />
der methoden nicht mehr mit dem . Operator auf die elemente<br />
im vector zugreifen.<br />
danke<br />
joeshrooms</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/149280/vector-größe-in-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 07:40:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149280.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 04 Jun 2006 13:12:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 13:12:29 GMT]]></title><description><![CDATA[<p>Habe folgendes problem,<br />
wenn ich einen vector in einer klasse erstelle:</p>
<pre><code class="language-cpp">class Punkt{
        public
          vector&lt;Punkt&gt; vectorName;
};
</code></pre>
<p>Dann kann ich keine größe des vectors festlegen,<br />
lege ich die größe trotzdem fest dann kann ich innerhalb<br />
der methoden nicht mehr mit dem . Operator auf die elemente<br />
im vector zugreifen.<br />
danke<br />
joeshrooms</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071145</guid><dc:creator><![CDATA[joeshrooms]]></dc:creator><pubDate>Sun, 04 Jun 2006 13:12:29 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 13:16:50 GMT]]></title><description><![CDATA[<p>Ganz ehrlich, was möchtest Du?</p>
<p>Geht vielleicht etwas Beispielcode, was denn &quot;nicht geht&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071147</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Sun, 04 Jun 2006 13:16:50 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 13:35:24 GMT]]></title><description><![CDATA[<p>Also es ist doch so:</p>
<p>Wenn ich einen Vector anlege, nehmen wir hier das beispiel:</p>
<pre><code class="language-cpp">class Punkt{
        public
          vector&lt;Punkt&gt; vectorName;
};
</code></pre>
<p>Dann ist es doch so, dass der Vector: <strong>vectorName</strong> quasi die Struktur des Klasse Punkt bekommt. Z.b. wenn es eine Variable string Name gibt oder so.</p>
<p>Jedenfalls kann man ja über den vectornamen (<strong>vectorName</strong>) mit einem Punkt (vectorName.IRGENDWAS) auf das jeweilige Objekt zugreifen.</p>
<p>So das ist der Zweck. Ein Vector sieht ja letztendlich wie ein Feld aus, nur das jedes Feld nochmal in unterfelder unterteilt ist, also die Objekte mitdenen man mit dem Punkt zugreifen kann.</p>
<p>Wenn man einen Vector deklariert kann man ja schon eine größe mitgeben. Mit:</p>
<pre><code class="language-cpp">class Punkt{
        public
          vector&lt;Punkt&gt; vectorName(10);
};
</code></pre>
<p>Ist der Vector von vorneherein 10 Elemente groß. Jetzt kann man z.b. mit vectorName[1].Name; auf das Objekt Name im 2. Element des Vectors zugreifen.</p>
<p>So... das zur vorgeschichte. Das Problem ist jetzt, dass ich wenn ich das so mache, einen Fehler bekomme. Deklariere ich die größe nicht mit () sondern mit [] dann geht es zwar aber ich kann nicht mehr auf die Elemente zugreifen, denn der Compiler sagt, das z.b. bei vectorName[1].Name, Name kein Element von vectorName ist.</p>
<p>Jetzt ist die Frage, wie ich halt die größe des Vectors festlege damit ich aber auch auf die Objekte des Vectors zugreifen kann.</p>
<p>Ich weiß hört sich komisch an... <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>
<p>Schon mal danke für die Hilfe!!</p>
<p>MfG</p>
<p>Nysander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071158</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Sun, 04 Jun 2006 13:35:24 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 13:39:27 GMT]]></title><description><![CDATA[<p>Du musst die &quot;Größe&quot;, die nichts anderes als ein Konstruktoraufruf ist, in der Konstruktorliste des Punkt-Konstruktors festlegen:</p>
<pre><code class="language-cpp">class Punkt
{
public:
    Punkt () : _vec (3)
    {}

private:
    vector&lt;Punkt&gt; _vec;
};
</code></pre>
<p>/edit: <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12395">@Nysander</a> Du solltest dir mal über die Terminologie im Klaren werden, btw. dich eindeutiger ausdrücken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071160</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sun, 04 Jun 2006 13:39:27 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 13:42:36 GMT]]></title><description><![CDATA[<p>@ .filmor</p>
<p>Wo ist denn meine Terminologie denn Unklar?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071162</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Sun, 04 Jun 2006 13:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 13:45:45 GMT]]></title><description><![CDATA[<p>Nysander schrieb:</p>
<blockquote>
<p>Wo ist denn meine Terminologie denn Unklar?</p>
</blockquote>
<p>Nysander schrieb:</p>
<blockquote>
<p>Dann ist es doch so, dass der Vector: <strong>vectorName</strong> quasi die Struktur des Klasse Punkt bekommt. Z.b. wenn es eine Variable string Name gibt oder so.</p>
</blockquote>
<p>Beweisführung abgeschlossen? <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/1071164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071164</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Sun, 04 Jun 2006 13:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 13:48:29 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Beweisführung abgeschlossen? <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>
</blockquote>
<p>Naja hat sich schon leicht komisch angehört, aber eigendlich trifft es ja die Eigenschaft genau. Aber egal.</p>
<p>Vielen Dank für die Hilfe!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071166</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Sun, 04 Jun 2006 13:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 13:59:01 GMT]]></title><description><![CDATA[<p>Nysander schrieb:</p>
<blockquote>
<p>Wenn ich einen Vector anlege</p>
</blockquote>
<p>Hier wird kein Vector angelegt, hier wird nur deklariert, dass ein Objekt der Klasse &quot;Punkt&quot; eine öffentliche Membervariable des Typs std::vector&lt;Punkt&gt; mit dem Namen &quot;vectorName&quot; enthält. Von Anlegen, also instanziieren kann hier nicht die Rede sein, das war auch scheinbar das Problem.</p>
<blockquote>
<p>Dann ist es doch so, dass der Vector: <strong>vectorName</strong> quasi die Struktur des Klasse Punkt bekommt</p>
</blockquote>
<p>Nein.</p>
<blockquote>
<p>Z.b. wenn es eine Variable string Name gibt oder so.</p>
</blockquote>
<p>Du meinst Membervariable. Das ist wichtig!</p>
<blockquote>
<p>Jedenfalls kann man ja über den vectornamen (<strong>vectorName</strong>) mit einem Punkt (vectorName.IRGENDWAS) auf das jeweilige Objekt zugreifen.</p>
</blockquote>
<p>Nein. Lediglich operator[] des Vektors liefert eine Referenz auf ein Objekt der Klasse Punkt zurück. Der normale .-Operator funktioniert nur für Membern von vector.</p>
<blockquote>
<p>So das ist der Zweck. Ein Vector sieht ja letztendlich wie ein Feld aus, nur das jedes Feld nochmal in unterfelder unterteilt ist, also die Objekte mitdenen man mit dem Punkt zugreifen kann.</p>
</blockquote>
<p>Hier verwendest du &quot;Feld&quot; mehrdeutig in unterschiedlichen Zusammenhängen. Der Teil mit den Unterfeldern lässt sich auch einfach als: &quot;Ein Vektor ist ein zusammenhängendes Feld von Objekten&quot; ausdrücken.</p>
<blockquote>
<p>Wenn man einen Vector deklariert kann man ja schon eine größe mitgeben.</p>
</blockquote>
<p>Nein. Das funktioniert nur bei echten Arrays (und da ist es auch nötig). Die Größenangabe (also der Konstruktoraufruf) geht erst bei der Instanziierung (der Objekterstellung).</p>
<blockquote>
<pre><code class="language-cpp">class Punkt{
        public
          vector&lt;Punkt&gt; vectorName(10);
};
</code></pre>
</blockquote>
<p>Im Zweifel hat der (standardkonforme) Compiler recht. Und das wird er ablehnen.</p>
<blockquote>
<p>Jetzt kann man z.b. mit vectorName[1].Name; auf das Objekt Name im 2. Element des Vectors zugreifen.</p>
</blockquote>
<p>Das ist undeutlich. Statt &quot;Objekt ... im&quot; solltest du &quot;Member ... vom&quot; verwenden.</p>
<blockquote>
<p>Deklariere ich die größe nicht mit () sondern mit [] dann geht es zwar aber ich kann nicht mehr auf die Elemente zugreifen, denn der Compiler sagt, das z.b. bei vectorName[1].Name, Name kein Element von vectorName ist.</p>
</blockquote>
<p>Deklaration mit eckigen Klammern bedeutet, dass du ein Array anlegst (in diesem Fall ein Array von Vektoren von Punkten).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071178</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sun, 04 Jun 2006 13:59:01 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 14:01:15 GMT]]></title><description><![CDATA[<p>Ok, danke für die Aufklärung. Für das nächste mal weiß ich Bescheid.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071179</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Sun, 04 Jun 2006 14:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 14:36:43 GMT]]></title><description><![CDATA[<p>@ .filmor</p>
<p>Also das mit ändern bzw. anlegen der Größe des Vectors hat ja jetzt funktioniert.</p>
<p>Jetzt habe ich jedoch das Problem, das wenn ich mein Programm starte geht mein Konsolenfenster sofort wieder zu ohne das was angezeigt wird.</p>
<p>Muss man da noch etwas beim aufrufen beachten?</p>
<pre><code class="language-cpp">public:
            Artikel() : artikel(10)
            {}
</code></pre>
<p>Im Programm:</p>
<pre><code class="language-cpp">int main(void)
{
 Artikel Artikel1;

system(&quot;pause&quot;);

}
</code></pre>
<p>Danke für die Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071192</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Sun, 04 Jun 2006 14:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 15:38:39 GMT]]></title><description><![CDATA[<p>Nysander schrieb:</p>
<blockquote>
<p>Jetzt habe ich jedoch das Problem, das wenn ich mein Programm starte geht mein Konsolenfenster sofort wieder zu ohne das was angezeigt wird.</p>
<pre><code class="language-cpp">int main(void)
{
 Artikel Artikel1;

system(&quot;pause&quot;);

}
</code></pre>
<p>Danke für die Hilfe!</p>
</blockquote>
<p>Hi,<br />
was sollte denn da deiner Meinung nach passieren?<br />
Du erzeugst nen Exemplar von Artikel und das wars...</p>
<p>Gruss Spacelord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071235</guid><dc:creator><![CDATA[Spacelord]]></dc:creator><pubDate>Sun, 04 Jun 2006 15:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 15:56:34 GMT]]></title><description><![CDATA[<p>Ja das ist mir schon bekannt, aber das Konsolenfenster müsste offen bleiben bis ich eine Taste drücke. Schon allein wegen <strong>system(&quot;pause&quot;)</strong> Ich habe es auch versucht, indem ich noch andere dinge, z.b. einen Text ausgeben lasse. Das Konsolenfenster geht immer sofort nach dem Aufrufen zu. Man sieht nichts was ausgegeben wird.</p>
<p>Dürfte eigendlich nicht passieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071244</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Sun, 04 Jun 2006 15:56:34 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 16:48:34 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Die system-Funktion dafür zu gebrauchen ist ja auch schlecht. Siehe in die Konsolen-FAQ, das Thema <em>Automatisches Schließen verhindern</em></p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071264</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 04 Jun 2006 16:48:34 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 17:53:28 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>also ich habe das mit den vorgeschlagenen alternativen versucht, jedoch auch ohne erfolg. Ich glaube es liegt daran, das ich die größe des Vectors im Konstruktor festsetze.</p>
<p>Wenn ich dies herauskommentiere geht das fenster nicht zu und sowohl der systemaufruf wie auch die alternativen zur verhinderung des automatischen schließens des konsolenfensters funktioniert.</p>
<p>Komisch...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071293</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Sun, 04 Jun 2006 17:53:28 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 18:00:54 GMT]]></title><description><![CDATA[<p>Mit diesem Konstruktor wird ein Vektor erzeugt, der n Elemente enthält. Kein Wunder, dass das kaputt geht. Ich hatte angenommen, es würde nur Platz für n Elemente reserviert. Ersetz das mal hier durch:</p>
<pre><code class="language-cpp">Punkt ()
{
    _vec.reserve (n);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1071301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071301</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sun, 04 Jun 2006 18:00:54 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Sun, 04 Jun 2006 18:15:04 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9606">@.filmor</a></p>
<p>Hey super!! Das hat funktioniert.</p>
<p>Ganz ehrlich: Ich währ aufgeschmissen gewesen. Darf ich fragen, woher du solche informationen bekommst. Hast Du, abgesehen von Dir selbst, eine gute Referenz?</p>
<p>Ich denke das der rest jetzt einfach wird, da dieses Problem mit dem vector elementar für mein Programm war.</p>
<p>Vielen vielen vielen Dank für Deine Hilfe.</p>
<p>Wenn nicht schreibe ich wieder <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>
<p>Noch mal vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071313</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Sun, 04 Jun 2006 18:15:04 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 14:02:52 GMT]]></title><description><![CDATA[<p>Ich glaub hier im Forum gibts ein paar Linklisten dafür. Ich benutze für STL-Kram (wozu auch das vector-Template gehört) die STL-Referenz auf <a href="http://sgi.com" rel="nofollow">sgi.com</a> (einfach bei google zusätzlich zum Suchbegriff site:sgi.com eingeben, dann findet der das). Für anderes ist <a href="http://www.cppreference.com" rel="nofollow">www.cppreference.com</a> geeignet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071662</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 05 Jun 2006 14:02:52 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 17:06:41 GMT]]></title><description><![CDATA[<p>Ok, das schau ich mir gleich mal an.</p>
<p>Das mit der Erstellung der Größe des Vektors hat ja jetzt funktioniert, jedoch habe ich jetzt ein Problem mit dem Befüllen des Vektors. Wenn ich über Methoden meiner Klasse die Vectoren, wie gewohnt:</p>
<pre><code class="language-cpp">...

vectorvariable[0].name=&quot;Mustername&quot;;

...
</code></pre>
<p>vectoren befüllen möchte, bricht mein Programm ab und verursacht einen Fehler.</p>
<p>Gibt es einen Unterschied zum Zugriff auf Vectoren innerhalb und über Methoden von Klassen?</p>
<p>Wahrscheinlich ist es wiedermal nur eine kleinigkeit und ich komm nicht drauf.</p>
<p>Schon mal Danke für die Antwort.</p>
<p>MfG</p>
<p>Nysander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071801</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Mon, 05 Jun 2006 17:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 17:22:22 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>die Syntax ist grundsätzlich richtig. Dasm Problem liegt woanders. Vor allem must du sicherstelen das auch wirkliczh mindestens 1 Element im vector vorhanden ist.<br />
Dazu fehlt aber der relevante Code und die vollständoige Fehlerbeschreibung.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071806</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 05 Jun 2006 17:22:22 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 18:01:12 GMT]]></title><description><![CDATA[<p>Also die Fehlerbeschreibung ist einfach nur, das das Programm, sobald ich etwas in den Vector schreiben möchte, einfach abstürzt. Konsolenfenster geht zu und es gibt eine Windows-Fehler-Meldung.</p>
<p>Es ist kein Syntax-Error, da ja der Compiler durchläuft; wie du schon gesagt hast.</p>
<p>Also der Code sieht so aus:</p>
<pre><code class="language-cpp">class Artikel
{

      public:
            Artikel()
            {
                 artikel.reserve(10);

            }

//...

      private:            
      vector&lt;Artikel&gt; artikel;      

      string nummer;
      string preis;
      string name;
      string beschreibung;       
};
</code></pre>
<p>Mehr ist es noch garnicht, da diese möglichkeit der Befüllung und natürlich auch das auslesen der Vectoren Hauptbestandteil meines Programmes ist.</p>
<p>Im Hauptprogramm Instanziere ich nur das Objekt.</p>
<p>Durch :</p>
<pre><code class="language-cpp">artikel.reserve(10);
</code></pre>
<p>hab ich doch eigendlich bereits 10 Felder angelegt oder nicht?</p>
<p>Daher müsste es doch gehen... <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071828</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Mon, 05 Jun 2006 18:01:12 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 18:02:23 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>nein du hast mit <a href="http://www.cppreference.com/cppvector/reserve.html" rel="nofollow">reserve</a> dem vector gesagt das er den Speicher für 10 Objekte <em>vorbereiten</em> soll! Das kannst du gerne nachprüfen, lass dir mal nach dem reserve die Werte von .size und .capacity ausgeben...</p>
<p>Gültoge Elemente fügst du mit <em>assign</em> oder <em>push_pack</em> ein. Steht auch alles in der verlinkten Referenz.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071835</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 05 Jun 2006 18:02:23 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 21:17:59 GMT]]></title><description><![CDATA[<p>Hm... ja die Befehle kenne ich, jedoch hab ich das bis jetzt immer nur mit einem vector z.b. nur auf dem typ INT gemacht. Da konnte ich mit push_back() immer ein Element hinzufügen.</p>
<p>Was muss ich denn bei push_back() in die Klammern schreiben, damit ich mehrere Elemente, die ja in meinem Vector sind, reinschreiben kann?</p>
<p>Es gibt die Elemente: Name, Beschreibung und Nummer.</p>
<p>Ach ja: Wenn ich meinenvector.push_back(IRGENDWAS) eingebe, sagt der Compiler, das &quot;push_back&quot; kein Element von meinvector ist.</p>
<p>Was mach ich denn da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071960</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Mon, 05 Jun 2006 21:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 21:21:24 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dazu benutzt du die erste Variante von <a href="http://www.cppreference.com/cppvector/assign.html" rel="nofollow">assign</a>.</p>
<p>Das mit dem <a href="http://www.cppreference.com/cppvector/push_back.html" rel="nofollow">push_back</a> sollte funktionieren. Bist du sicher das meinvector wirklich ein std::vector ist?<br />
Brich den Fehler mal auf ein Minimalbeispiel herunter und poste hier den Quellcode.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071964</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 05 Jun 2006 21:21:24 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 21:34:04 GMT]]></title><description><![CDATA[<p>Hi, also der Fehler lässt sich leider nicht minimieren. Der Fehler ist schon &quot;elementar&quot;.</p>
<p>Hier mal der Komplette Quell-Code, macht noch gar nix, soll nur halt nen Vector erstellen in der Klasse und ein Element hinzufügen.</p>
<pre><code class="language-cpp">class Artikel
{

      public:
            Artikel()
            {
                 artikel.reserve(10);

                 artikel[0].name=&quot;Test&quot;;  
            }

      private:            
      vector&lt;Artikel&gt; artikel;       

      int position;
      string nummer;
      string preis;
      string name;
      string beschreibung;            

};

int main(void)
{

 Artikel Artikel1;

system(&quot;pause&quot;);

}
</code></pre>
<p>Wenn ich</p>
<pre><code class="language-cpp">artikel[0].name=&quot;Test&quot;;
</code></pre>
<p>herausnehme bzw. auskommentiere, stürzt das Programm nicht ab. Also geht die größenreservierung glatt, jedoch der Zugriff auf ein Element von meinem vector bzw. die befüllung nicht.</p>
<p>Ich hoffe ihr wisst was ich meine.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071973</guid><dc:creator><![CDATA[Nysander]]></dc:creator><pubDate>Mon, 05 Jun 2006 21:34:04 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Mon, 05 Jun 2006 21:40:43 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>das habe ich dir doch schon gesagt, das mit dem Reserve keine Elemente erschaffen werden, sonder nur der Platz im voraus!</p>
<pre><code class="language-cpp">artikel.assign(10, Artikel());
</code></pre>
<p>Übrigens bekommst du so mit deiner Klasse einen schönen Stacküberlauf.<br />
Weil du in dem Konstruktor von jedem Artikel 10 weitere Artikel erstellen willst, die jeder wieder zehn Artikel erstellen...</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1071980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1071980</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 05 Jun 2006 21:40:43 GMT</pubDate></item><item><title><![CDATA[Reply to vector größe in klasse on Tue, 06 Jun 2006 16:18:03 GMT]]></title><description><![CDATA[<p>Bist du dir sicher, dass wirklich jeder Artikel 10 andere Artikel hat? Ich würde mal sagen, dass das logisch falsch ist. Was willst du (damit) erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1072648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1072648</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 06 Jun 2006 16:18:03 GMT</pubDate></item></channel></rss>