<?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[c++ dynamische Strukturen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe gerade folgendes Problem:<br />
Ich muss eine dynamische Datenstruktur entwerfen mit folgenden Bedingungen:</p>
<p>-&gt;Der Benutzer muss eine unbestimmte Anzahl von Gruppen anlegen können.<br />
-&gt;Jede Gruppe besitzt einen Gruppennamen, sowie eine Adresse.<br />
-&gt;In jeder Gruppe muss der Benutzer eine unbestimmte Anzahl von Personen<br />
anlegen können.<br />
-&gt;Jede Person besitzt einen Namen und ein Passwort.</p>
<p>Die unbestimmte Anzahl von Gruppen habe ich mit einer verketteten Liste<br />
realisiert. Jetzt habe ich aber das Problem, dass es in jeder Gruppe noch<br />
eine unbestimmte Anzahl von Personen gibt.<br />
Brauche ich dafür jetzt eine verkettete Liste in einer verketteten Liste?<br />
Vielleicht doch eher eine Baumstruktur??<br />
Zu welcher Struktur würdet ihr mir raten?<br />
Wer kennt sich aus und kann mir helfen?</p>
<p>Vielen Dank und liebe Grüße.<br />
Melli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307085/c-dynamische-strukturen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 18:04:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307085.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Aug 2012 09:59:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 09:59:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe gerade folgendes Problem:<br />
Ich muss eine dynamische Datenstruktur entwerfen mit folgenden Bedingungen:</p>
<p>-&gt;Der Benutzer muss eine unbestimmte Anzahl von Gruppen anlegen können.<br />
-&gt;Jede Gruppe besitzt einen Gruppennamen, sowie eine Adresse.<br />
-&gt;In jeder Gruppe muss der Benutzer eine unbestimmte Anzahl von Personen<br />
anlegen können.<br />
-&gt;Jede Person besitzt einen Namen und ein Passwort.</p>
<p>Die unbestimmte Anzahl von Gruppen habe ich mit einer verketteten Liste<br />
realisiert. Jetzt habe ich aber das Problem, dass es in jeder Gruppe noch<br />
eine unbestimmte Anzahl von Personen gibt.<br />
Brauche ich dafür jetzt eine verkettete Liste in einer verketteten Liste?<br />
Vielleicht doch eher eine Baumstruktur??<br />
Zu welcher Struktur würdet ihr mir raten?<br />
Wer kennt sich aus und kann mir helfen?</p>
<p>Vielen Dank und liebe Grüße.<br />
Melli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242361</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 09:59:01 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 10:08:31 GMT]]></title><description><![CDATA[<p>Ich vermute, die verkettete Liste ahst du selbst geschrieben. Ist das zwingend vorgeschrieben? (Klingt ganz nach einer Schul-/Haus-/Uni-Aufgabe)</p>
<p>Angenommen, du hast eine Klasse &quot;Gruppe&quot;. Dann wäre std::vector&lt;Gruppe&gt; normalerweise das ideale Konstrukt für dich.</p>
<p>Für die &quot;Person&quot; gilt dasselbe: Wenn du eine Klasse &quot;Person&quot; hast, dann ist std::vector&lt;Person&gt; das Mittel der Wahl für eine Liste von Personen.</p>
<p>Die Aufgabe, std::vector&lt;Person&gt; in die Klasse &quot;Gruppe&quot; zu integrieren, überlasse ich dir <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="😉"
    /> Wenn du Schwierigkeiten hast, melde dich nochmal.</p>
<p>Zur generellen Struktur: du hast eine Liste von &quot;Gruppe&quot;. Jede Gruppe hat eine Liste von &quot;Person&quot;. Die beiden Listen sind dabei völlig unabhängig voneinander, also für die Liste von &quot;Gruppen&quot; ist es völlig unerheblich, was genau sich in der Klasse &quot;Gruppe&quot; verbirgt.</p>
<p>Wenn du weiterhin Probleme hast, solltest du deinen Code posten. Falls dieser sehr lang sein sollte, kürze bitte soviel, wie möglich.</p>
<p>viele Grüße<br />
Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242364</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 10:08:31 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 10:15:27 GMT]]></title><description><![CDATA[<p>Hey, vielen Dank für deine Antwort.<br />
Du hast Recht, es ist für die Uni.<br />
Die verkettete Liste für Gruppen habe ich selber geschrieben. Ich weiß jetzt nur nicht, wie ich weiter vorgehen soll. Nochmal eine verkettete Liste von Personen machen und dann versuchen die beiden ineinander zu wursteln? :((<br />
Ehrlich gesagt habe ich noch nie mit &lt;vector&gt; gearbeitet. Gibt es also eine Möglichkeit um die verketteten Listen herumzukommen??<br />
Bist wirklich mein Retter.</p>
<p>Liebe Grüße.<br />
Melli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242370</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 10:15:27 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 10:25:12 GMT]]></title><description><![CDATA[<p>Hallo Melli,</p>
<p>wenn du std::vector verwenden darfst, dann mache das unbedingt! Mit verketteten Listen handelst du dir über kurz oder lang nur Ärger ein. Das funktioniert dann prinzipiell so:</p>
<pre><code class="language-cpp">Gruppe gruppe1;
Gruppe gruppe2;

std::vector&lt;Gruppe&gt; gruppen;
gruppen.push_back(gruppe1);
gruppen.push_back(gruppe2);
</code></pre>
<p>Google am besten mal nach &quot;std::vector Tutorial&quot; (oder sowas), dann solltest du damit recht schnell klarkommen.</p>
<p>Kennst du dich generell schon ein wenig mit objektorientierter Programierung aus? Oder wurdest du quasi heute Morgen ins kalte Wasser geschmissen?</p>
<p>viele Grüße<br />
Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242379</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 10:25:12 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 10:34:30 GMT]]></title><description><![CDATA[<p>Ich glaub Felix meint das so in der Art.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

class PersonenListe
{

public:
        string GetName();
        PersonenListe :: PersonenListe(string n);

private:
        string Name;

};

vector&lt;PersonenListe&gt;Personen;

PersonenListe :: PersonenListe(string n) : Name(n)
{

}

void InitialisierePersonenListeName( string n )
{
        Personen.push_back(  PersonenListe(n) ); // Die Daten (string n) werden mithilfe des Konstruktors PersonenListe :: PersonenListe(string n);
                                                 // in den Vector Personen gepusht
}

string PersonenListe :: GetName()
{
        return Name;
}

int main()
{

InitialisierePersonenListeName(&quot;bob&quot;);
InitialisierePersonenListeName(&quot;john&quot;);

cout &lt;&lt; Personen[0].GetName() &lt;&lt; endl;
cout &lt;&lt; Personen[1].GetName() &lt;&lt; endl;

return 0;
}
</code></pre>
<p>Vector Referenz mit Beispielcode: <a href="http://www.cplusplus.com/reference/stl/vector/" rel="nofollow">http://www.cplusplus.com/reference/stl/vector/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242382</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 16 Aug 2012 10:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 10:39:58 GMT]]></title><description><![CDATA[<p>Erst einmal vielen herzlichen Dank Felix.<br />
Ich lese mir gerade die STL Containerfunktionen durch.<br />
Es wäre wirklich super, wenn es so einfach gehen würde.<br />
Du hast mir von vector&lt;&gt; geschrieben, beim überfliegen<br />
bin ich gerade auch auf list&lt;&gt; gestoßen. Wird ne Weile<br />
dauern, bis ich mich da eingelesen habe.<br />
Heute werd ich erst einmal versuchen das umzusetzen,<br />
was du mir geschrieben hast.<br />
Und ja, ich habe schon ein wenig Erfahrung. Was man halt<br />
in der Uni so macht...:/<br />
Bleibt dann nur noch das Problem, wie ich eine list&lt;Personen&gt;<br />
in eine list&lt;gruppen&gt; bringe <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>
<p>viele lieben Grüße.<br />
Melli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242385</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 10:39:58 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 10:47:36 GMT]]></title><description><![CDATA[<p>das ist ziemlich genau das, was mir vorschwebte. Nur wollt ich Melli den Code nicht direkt so vorsetzen... bei selbst schreiben/nachlesen ist der Lerneffekt viel höher.</p>
<p>Und ja, es ist ein großer Unterschied, ob man ein fertiges Programm nachvollziehen kann oder ob man versucht, es selbst zu schreiben.</p>
<p>edit:</p>
<p>Melanie_27 schrieb:</p>
<blockquote>
<p>Du hast mir von vector&lt;&gt; geschrieben, beim überfliegen<br />
bin ich gerade auch auf list&lt;&gt; gestoßen. Wird ne Weile<br />
dauern, bis ich mich da eingelesen habe.</p>
</blockquote>
<p>vector ist wie ein Array, list ist eine &quot;klassische&quot; verkettete Liste. Normalerweise sollte man immer mit einem vector anfangen.</p>
<p>Melanie_27 schrieb:</p>
<blockquote>
<p>Bleibt dann nur noch das Problem, wie ich eine list&lt;Personen&gt; in eine list&lt;gruppen&gt; bringe <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>Dazu hat Bassmaster ja schon fertigen Code geliefert - aber ich schreibe noch ein wenig dazu: Kennst du dich auch schon ein wenig mit Klassen aus? Irgendwie hast du da noch einen Denkfehler. Zu einer Gruppe gehört eine Liste von Personen. Da ist es völlig unerheblich, wie du die Gruppen organisiert hast. &quot;Gruppe&quot; ist eine Klasse. Wenn etwas &quot;zu dieser Klasse gehört&quot;, bietet es sich an, dies als Membervariable der Klasse zu modellieren. Somit braucht &quot;Gruppe&quot; ein Member std::vector&lt;Person&gt; - fertig. Jetzt hat jede Gruppe eine Liste von Personen.</p>
<p>viele Grüße<br />
Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242386</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 10:47:36 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 10:51:36 GMT]]></title><description><![CDATA[<p>Hey, ich komme ja gar nicht mehr mit dem Lesen und Nachvollziehen hinterher <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 />
Vielen vielen Dank. Mit Klassen kenne ich mich eigentlich schon aus.<br />
Ich werde jetzt zuerst einmal versuchen alles zu verstehen und nach zu programmieren. Ihr seid wirklich spitze.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242399</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 10:51:36 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 11:36:33 GMT]]></title><description><![CDATA[<p>Gern geschehen. Dann viel Erfolg - und bei Fragen kannst du dich natürlich jederzeit hier melden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242429</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 11:36:33 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 12:31:02 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt; 
#include &lt;vector&gt; 
#include &lt;string&gt;
using namespace std; 

//--------------------------------------------------------------
//--------------------------------------------------------------
class PersonenListe 
{ 
public: 
        string GetName(); 
        PersonenListe :: PersonenListe(string n); 
private: 
        string Name; 
}; 
vector&lt;PersonenListe&gt;Personen; 
PersonenListe :: PersonenListe(string n) : Name(n) 
{ 
} 
void hinzufügenPerson( string n ) 
{ 
        Personen.push_back(  PersonenListe(n) ); // Die Daten (string n) werden mithilfe des Konstruktors PersonenListe :: PersonenListe(string n); 
}                                               // in den Vector Personen gepusht 
string PersonenListe :: GetName() 
{ 
        return Name; 
} 
//--------------------------------------------------------------
//--------------------------------------------------------------
class Gruppenliste
{ 
public: 
        string GetGroupname();
        Gruppenliste::Gruppenliste(string name); 
		vector&lt;PersonenListe&gt;Personen;
private: 
        string GName; 
}; 
vector&lt;Gruppenliste&gt;Gruppen; 
Gruppenliste :: Gruppenliste(string name): GName(name)
{ 
} 
void hinzufügenGruppe( string name ) 
{ 
        Gruppen.push_back(  Gruppenliste(name) ); // Die Daten (string n) werden mithilfe des Konstruktors PersonenListe :: PersonenListe(string n); 
}                                              // in den Vector Personen gepusht 
string Gruppenliste :: GetGroupname() 
{ 
        return GName; 
} 
//main-------------------------------------------------------------
int main() 
{ 
hinzufügenGruppe(&quot;GruppeA&quot;); 
hinzufügenGruppe(&quot;GruppeF&quot;); 
hinzufügenGruppe(&quot;GruppeU&quot;); 

for (int i=0; i&lt;=Gruppen.size()-1; i++)
	cout&lt;&lt;Gruppen[i].GetGroupname()&lt;&lt;endl;

Gruppen[0].Personen.hinzufügenPerson(&quot;Andrea&quot;); // &lt;- Hier ist der Wurm drin :(

cout&lt;&lt;endl;
system(&quot;PAUSE&quot;);
return 0; 
}
</code></pre>
<p>Hey ihr, wie ihr sehen könnt war ich fleißig. Ich habe hierbei aber jetzt noch das Problem, dass ich in der einzelnen Gruppe keine Personen anlegen kann. Ich weiß aber nicht, was ich falsch mache <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>
<p>/edit pumuckl: cpp-Tags spendiert. Demnächst bitte selber machen! <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/2242445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242445</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 12:31:02 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 12:18:40 GMT]]></title><description><![CDATA[<p>Hallo Melli,</p>
<p>als erstes solltest du cpp-Tags verwenden, wenn du hier Code postest, weil das sonst nicht gut lesbar ist. Dann ist &quot;hier ist der Wurm drin&quot; keine gute Fehlerbeschriebung. Was passiert? Was sollte deiner Meinung nach passieren? Welche Fehlermeldung kommt vom Compiler?</p>
<p>Dann bist du mit deinen Klassen irgenwie durcheinandergekommen. Du hast eine Klasse &quot;Gruppenliste&quot;. Wofür benötigst du die? Ich glaube, du hast den Code von Bassmaster nicht richtig verstanden.</p>
<p>Ich gebe dir mal ein wenig Struktur:</p>
<pre><code class="language-cpp">class Person
{
  public:
    explicit Person(const std::string&amp; name) : m_name(name) {}

    const std::string&amp; GetName() const {return m_name;};

  private:
    std::string m_name;
};

class Gruppe
{
  public:
    explicit Gruppe(const std::string&amp; name) : m_name(name) {}

    const std::string&amp; GetName() const {return m_name;};
    void AddPerson(const Person&amp; person) {m_personen.push_back(person);};

  private:
    std::string m_name;
    std::vector&lt;Person&gt; m_personen;
};

int main()
{
  std::vector&lt;Gruppe&gt; gruppen;

  gruppen.push_back(Gruppe(&quot;Frauen&quot;));
  gruppen.push_back(Gruppe(&quot;Maenner&quot;));

  gruppen[0].AddPerson(Person(&quot;Andrea&quot;));
  gruppen[0].AddPerson(Person(&quot;Melli&quot;));

  gruppen[1].AddPerson(Person(&quot;Thomas&quot;));
  gruppen[1].AddPerson(Person(&quot;Felix&quot;));

  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2242458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242458</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 12:18:40 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 12:25:27 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Dein Quellcode und die Bezeichner sind total verwirrend.</p>
<p>Melanie_27 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class PersonenListe 
{ 
public: 
        string GetName(); 
        PersonenListe(string n); 
private: 
        string Name; 
};
// ...
Gruppen[0].Personen.hinzufügenPerson(&quot;Andrea&quot;);
</code></pre>
</blockquote>
<p>Wieso hat die Liste einen Namen. Eine Person soll einen Namen haben, aber die Liste doch nicht.</p>
<p>Melanie_27 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void hinzufügenGruppe( string name )
{
    Gruppen.push_back( Gruppenliste(name) );
}
// ...
hinzufügenGruppe(&quot;GruppeA&quot;); 
hinzufügenGruppe(&quot;GruppeF&quot;); 
hinzufügenGruppe(&quot;GruppeU&quot;);
</code></pre>
</blockquote>
<p>Das ist doch redundant. <code>std::vector</code> hat doch bereits so eine Funktion. Außerdem hast du mit dieser Methode nun eine globale Variable <code>Gruppen</code> an der Backe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242464</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Thu, 16 Aug 2012 12:25:27 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 12:53:46 GMT]]></title><description><![CDATA[<p>Ahhh, ich bin so dumm <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="😞"
    /> <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="😞"
    /> <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 />
Ich sitz jetzt gerade an dem Code von Felix und bin zumindest mal in der Lage Gruppen und darin Personen anzulegen <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>
<pre><code class="language-cpp">for(int i=0; i&lt;=gruppen.size()-1; i++)
  {
	  cout&lt;&lt;gruppen[i].GetName()&lt;&lt;endl;           //Das funktioniert bestens
  }

  for(int i=0; i&lt;=gruppen[0].m_personen.size()-1; i++)    //Das kennt er nicht
  {                                                       //weil m_personen privat ist
	  cout&lt;&lt;gruppen[0].m_personen[i].GetName()&lt;&lt;endl;  //Das folglich auch nicht.
  }
</code></pre>
<p>Aber wie kann ich jetzt die Personen wieder auslesen? m_personen ist private. Wie kann ich die Größe des Personen-Vektors bestimmen und wie kann ich seinen Namen auslesen?<br />
O man, ihr lacht mich bestimmt schon aus <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 />
Ich danke euch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242477</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 12:53:46 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 12:58:28 GMT]]></title><description><![CDATA[<p>Denk doch mal objektorientiert <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">void Gruppe::Print() const
{
  cout &lt;&lt; &quot;Gruppe '&quot; &lt;&lt; m_name &lt;&lt; &quot;':\n&quot;;

  // hier kommt die Ausgabe des vectors
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2242478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242478</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 12:58:28 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 12:58:16 GMT]]></title><description><![CDATA[<p>Ok, ich hab es einfach public gemacht und es funktioniert :)) Ansonsten hätte ich wohl eine Methode schreiben müssen, die mir m_person ausspuckt <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 />
Hab ich Recht oder nicht ? :)))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242479</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 12:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:01:15 GMT]]></title><description><![CDATA[<p>Sowas durch &quot;public-machen&quot; zu lösen ist nicht sonderlich schön, es wiederspricht fundamental dem Konzept der Kapselung von Daten. Eine Lösung habe ich ja bereits zeitgleich mit dir gepostet.</p>
<p>Angenommen, du möchtest irgendwann den vector durch eine andere Struktur ersetzen, dann genügt es, wenn du die &quot;Print()&quot;-Methode änderst. Wenn du einfach den vector public machst, musst du in mühsamer Kleinarbeit alle Stellen im Code ändern, wo du darauf zugreifst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242480</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:08:42 GMT]]></title><description><![CDATA[<p>Hääh? Aber das was du gepostet hast, hat doch nichts mit m_personen zu tun? Ich möchte ja die Personen ausgeben, die eine Gruppe hat.<br />
Wie geht das dann, wenn ich std::vector&lt;Person&gt; m_personen; in der Klasse Gruppe bei private stehen hab???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242483</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:13:29 GMT]]></title><description><![CDATA[<p>Melanie_27 schrieb:</p>
<blockquote>
<p>Hääh? Aber das was du gepostet hast, hat doch nichts mit m_personen zu tun? Ich möchte ja die Personen ausgeben, die eine Gruppe hat.<br />
Wie geht das dann, wenn ich std::vector&lt;Person&gt; m_personen; in der Klasse Gruppe bei private stehen hab???</p>
</blockquote>
<p>Hast Du den Kommentar in felix' Code überlesen? <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>
<p>Wenn Du die Personen in einer Gruppe ausgeben möchtest, kannst Du doch eine Funktion &quot;Ausgabe&quot; in der Klasse Gruppe schreiben, die über den privaten Vector m_personen iteriert.</p>
<p>Oder Du bietest in der Klasse Gruppe eine Get-Methode für eine bestimmte Person (nach Index) oder den gesamten Vector an, und nutzt diese statt des privaten m_personen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242486</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:13:29 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:16:17 GMT]]></title><description><![CDATA[<p>[offtopic]<br />
Kaum ist ein Benutzername weiblich wird hier mit Code umsich geschmissen, wäre er männlich gewesen gäbe es mit sicherheiten schon die ein oder andere Moralpredigt <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="😃"
    /><br />
[/offtopic]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242488</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:16:17 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:18:42 GMT]]></title><description><![CDATA[<p>Cyres schrieb:</p>
<blockquote>
<p>[offtopic]<br />
Kaum ist ein Benutzername weiblich wird hier mit Code umsich geschmissen, wäre er männlich gewesen gäbe es mit sicherheiten schon die ein oder andere Moralpredigt <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="😃"
    /><br />
[/offtopic]</p>
</blockquote>
<p>nein, ich zumindest bin <s>immer</s> meistens freundlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242490</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:18:42 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:24:17 GMT]]></title><description><![CDATA[<p>Ok, das habe ich jetzt verstanden. Ich habe ja auch gemeint, dass ich eine Methode schreibe, die den Vector Personen m_personen zurück gibt:<br />
Ich habe diese Methode jetzt geschrieben, aber irgendwie mag mich mein Visual Studio nicht <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;

using namespace std;
class Person 
{ 
  public: 
    explicit Person(const std::string&amp; name) : m_name(name) {} 
    const std::string&amp; GetName() const {return m_name;}; 

  private: 
    std::string m_name; 
}; 
//------------------------------------------------------------------------
class Gruppe 
{ 
  public: 
    explicit Gruppe(const std::string&amp; name) : m_name(name) {} 
    const std::string&amp; GetName() const {return m_name;}; 
    void AddPerson(const Person&amp; person) {m_personen.push_back(person);};
	vector&lt;Person&gt; getPerson () {return m_personen;}

  private: 
    std::string m_name; 
    std::vector&lt;Person&gt; m_personen;
}; 
//-------------------------------------------------------------------------
int main() 
{ 
  std::vector&lt;Gruppe&gt; gruppen; 

  gruppen.push_back(Gruppe(&quot;Frauen&quot;)); 
  gruppen.push_back(Gruppe(&quot;Maenner&quot;)); 

  gruppen[0].AddPerson(Person(&quot;Andrea&quot;)); 
  gruppen[0].AddPerson(Person(&quot;Melli&quot;)); 

  gruppen[1].AddPerson(Person(&quot;Thomas&quot;)); 
  gruppen[1].AddPerson(Person(&quot;Felix&quot;)); 

  for (int i=0; i&lt;=gruppen.size(); i++)
  {
		cout&lt;&lt;gruppen[i].GetName()&lt;&lt;&quot;:&quot;&lt;&lt;endl;   
	for(int a=0; a&lt;=gruppen[i].getPerson.size(); a++)    //Das kennt er nicht
	{       
		 cout&lt;&lt;gruppen[i].getPerson[a].GetName()&lt;&lt;endl;  //Das folglich auch nicht.
	}
  }
  cout&lt;&lt;endl;
  system(&quot;PAUSE&quot;);
  return 0; 
}
</code></pre>
<p>Und ich bin sehr froh, dass es Leute wie euch/dich :p gibt, die mir helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242493</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:24:17 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:25:44 GMT]]></title><description><![CDATA[<p>Dann schau mal, wie du die Methode GetName (die keine Parameter hat) aufrufst: GetName(). Und jetzt überleg, wie Du die Methode GetPerson (die auch keine Parameter hat) aufrufen müsstest <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/2242495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242495</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:25:44 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:30:21 GMT]]></title><description><![CDATA[<p>und achte bei der Benennung deiner Methoden auf konsistenz. Einmal hast du &quot;GetName()&quot; und einmal &quot;getPerson()&quot;, entweder fang alles mit einem großen Buchstaben an oder alles mit einem kleinen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242497</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:30:21 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:41:51 GMT]]></title><description><![CDATA[<p>Ich schau es mir gerade wieder und wieder an, aber ich versteh den Fehler einfach nicht. Ich möchte m_personen zurückgeben. Irgendwie scheint das nicht zu funktionieren, aber warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242499</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:41:51 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:42:55 GMT]]></title><description><![CDATA[<p>du solltest besser eine konstante Referenz zurückgeben, sonst wird jedesmal eine Kopie erzeugt. Der Name &quot;getPerson&quot; ist auch ungünstig, wenn du nciht eine einzelne Person, sondern eine ganze Liste haben möchtest <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">const std::vector&lt;Person&gt;&amp; GetPersonen() const {return m_personen;};
</code></pre>
<p>und anstelle von &quot;mag nicht&quot; wäre es hilfreich, wenn du uns die tatsächliche Fehlermeldung geben könntest...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2242500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242500</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:42:55 GMT</pubDate></item><item><title><![CDATA[Reply to c++ dynamische Strukturen on Thu, 16 Aug 2012 13:52:31 GMT]]></title><description><![CDATA[<p>Keine Chance, läuft trotzdem nicht. Es kommt die Fehlermeldung:</p>
<p>Fehler 2 error C2228: Links von &quot;.size&quot; muss sich eine Klasse/Struktur/Union befinden. m:\visual studio 2010\projects\einfacheliste\einfacheliste\main.cpp 45</p>
<p>6 IntelliSense: Ein Zeiger auf eine gebundene Funktion darf nur zum Aufrufen der Funktion verwendet werden. m:\visual studio 2010\projects\einfacheliste\einfacheliste\main.cpp 45</p>
<p>Hier nochmal der komplette Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;

using namespace std;
class Person 
{ 
  public: 
    explicit Person(const std::string&amp; name) : m_name(name) {} 
    const std::string&amp; GetName() const {return m_name;}; 

  private: 
    std::string m_name; 
}; 
//------------------------------------------------------------------------
class Gruppe 
{ 
  public: 
    explicit Gruppe(const std::string&amp; name) : m_name(name) {} 
    const std::string&amp; GetName() const {return m_name;}; 
    void AddPerson(const Person&amp; person) {m_personen.push_back(person);};
	const std::vector&lt;Person&gt;&amp; getPersonen () const {return m_personen;};

  private: 
    std::string m_name; 
    std::vector&lt;Person&gt; m_personen;
}; 
//-------------------------------------------------------------------------
int main() 
{ 
  std::vector&lt;Gruppe&gt; gruppen; 

  gruppen.push_back(Gruppe(&quot;Frauen&quot;)); 
  gruppen.push_back(Gruppe(&quot;Maenner&quot;)); 

  gruppen[0].AddPerson(Person(&quot;Andrea&quot;)); 
  gruppen[0].AddPerson(Person(&quot;Melli&quot;)); 

  gruppen[1].AddPerson(Person(&quot;Thomas&quot;)); 
  gruppen[1].AddPerson(Person(&quot;Felix&quot;)); 

  for (int i=0; i&lt;=gruppen.size(); i++)
  {
		cout&lt;&lt;gruppen[i].GetName()&lt;&lt;&quot;:&quot;&lt;&lt;endl;   
	for(int a=0; a&lt;=gruppen[i].getPersonen.size(); a++)    //Das kennt er nicht
	{       
		 cout&lt;&lt;gruppen[i].getPersonen[a].GetName()&lt;&lt;endl;  //Das folglich auch nicht.
	}
  }
  cout&lt;&lt;endl;
  system(&quot;PAUSE&quot;);
  return 0; 
}
</code></pre>
<p>Es scheint noch immer an getPersonen zu liegen <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/2242505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2242505</guid><dc:creator><![CDATA[Melanie_27]]></dc:creator><pubDate>Thu, 16 Aug 2012 13:52:31 GMT</pubDate></item></channel></rss>