<?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[titel]]></title><description><![CDATA[<p>nachrichtentext</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/232172/titel</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 09:13:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/232172.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Jan 2009 01:45:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to titel on Thu, 21 Jun 2012 17:59:05 GMT]]></title><description><![CDATA[<p>nachrichtentext</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648616</guid><dc:creator><![CDATA[Torboe]]></dc:creator><pubDate>Thu, 21 Jun 2012 17:59:05 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Tue, 20 Jan 2009 03:12:58 GMT]]></title><description><![CDATA[<ol>
<li>
<p>Das Erstellen einer leeren Liste sollte man wohl als Konstruktor machen</p>
</li>
<li>
<p>Deine Liste ist eine &quot;intrusive list&quot; - das deckt sich IMO nicht mit der Aufgabenstellung</p>
</li>
<li>
<p>Du verwendest oft Referenzen, wo keine nötig sind (und auch keinen Sinn machen)</p>
</li>
<li>
<p>Exceptions sollten von std::exception abgeleitet werden. Die Aufgabenstellung ist da aber etwas ungenau (&quot;die als Text geworfen wird&quot; - WTF?)</p>
</li>
<li>
<p>Du übergibst an alle Funktionen den &quot;Anker&quot; - was soll das? Der &quot;Anker&quot; ist denke ich der Kopf der Liste, der sollte IMO einfach ein Member der Listenklasse sein.</p>
</li>
<li>
<p>Wenn man die Aufgabe wörtlich nimmt, solltest du nichts inline implementieren</p>
</li>
<li>
<p>die &quot;push-back Methode&quot; würde ich &quot;push_back&quot; nennen</p>
</li>
<li>
<p>die &quot;erase Methode&quot; würde ich &quot;erase&quot; nennen</p>
</li>
<li>
<p>Deine Methode &quot;ausgabe&quot; ist falsch, die gibt einfach N-mal das erste Element aus. Und nirgends steht etwas davon, dass die Methode einen &quot;anzahl&quot; Parameter nehmen sollte - d.h. es sollte immer die ganze Liste ausgegeben werden.</p>
</li>
<li>
<p>In der Aufgabe steht nichts davon dass die &quot;push-front Methode&quot; irgendwelche Daten abfragen sollte -- die &quot;push-front Methode&quot; sollte ein Element (&quot;struct person&quot;) als Parameter nehmen, und dieses vorne an die Liste dranhängen</p>
</li>
<li>
<p>&quot;Hans&quot; ist kein guter Name für eine Liste von Personendaten - &quot;personendaten&quot; wäre ein besserer Name, findest du nicht?</p>
</li>
<li>
<p>Die &quot;whatfkt&quot; heisst normalerweise einfach &quot;what&quot;</p>
</li>
<li>
<p>Entweder du implementierst einen Copy-Constructor, oder machst die Klasse nicht-kopierbar (private Copy-Constructor deklarieren)</p>
</li>
<li>
<p>Was für den Copy-Constructor gilt, gilt auch für den Assignment-Operator</p>
</li>
<li>
<p>Irgendwer sollte alle erzeugten Objekte (&quot;new&quot;) wieder freigeben (&quot;delete&quot;) - normalerweise macht man das im Destruktor</p>
</li>
<li>
<p>Das ist alles ganz fürchterlich *g*</p>
</li>
</ol>
<p>Und noch ein Tip: &quot;anker&quot; und &quot;anzahl&quot; sind zwei Dinge, die in eine eigene Klasse gehören, welche es bei dir (noch) nicht gibt <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="😉"
    /><br />
(bzw. &quot;anzahl&quot; brauchst du eigentlich nicht)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648620</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 20 Jan 2009 03:12:58 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Tue, 20 Jan 2009 05:53:42 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Torboe schrieb:</p>
<blockquote>
<pre><code class="language-cpp">......
//anlegen einer leeren liste

void personen::leere_liste()
{
	personen* anker=NULL;
	
}
</code></pre>
</blockquote>
<p>was soll das werden!? Du legts hier eine lokale Variable an und weisst ihr NULL zu! Diese wird aber gleich wieder zerstört.</p>
<p>Evtl sollteste dich auch nochmal mit Klassen beschäftigen. Was die für nen Zweck haben usw.</p>
<p>Und ich muss mich dem Punkt 16 von &quot;hustbaer&quot; anschließen (den anderen natürlich auch ;)), aber dem ganz besonders.</p>
<p>Gruß Pingu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648633</guid><dc:creator><![CDATA[Pingu-Group]]></dc:creator><pubDate>Tue, 20 Jan 2009 05:53:42 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Thu, 21 Jun 2012 17:59:26 GMT]]></title><description><![CDATA[<p>nachrichtentext</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648741</guid><dc:creator><![CDATA[Torboe]]></dc:creator><pubDate>Thu, 21 Jun 2012 17:59:26 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Tue, 20 Jan 2009 10:43:22 GMT]]></title><description><![CDATA[<p><a href="http://www.google.de/search?hl=de&amp;q=intrusive+liste&amp;meta=" rel="nofollow">2) was ist eine intrusive liste???</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648744</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 20 Jan 2009 10:43:22 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Thu, 21 Jun 2012 17:59:45 GMT]]></title><description><![CDATA[<p>nachrichtentext</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648757</guid><dc:creator><![CDATA[Torboe]]></dc:creator><pubDate>Thu, 21 Jun 2012 17:59:45 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Tue, 20 Jan 2009 10:58:13 GMT]]></title><description><![CDATA[<p>Torboe schrieb:</p>
<blockquote>
<p>hmmmm also meine liste ist intrusiv, weil sie eine vorhandene datenstruktur (struct person) benutzt. aber ich wüsste nicht wie ich das sonst machen sollte... ?!</p>
</blockquote>
<p>sie soll ihre eigene datenstruktor (struct knoten) bebnutzen. mit folgendem trick lassen sich dann doch personen verwalten:</p>
<pre><code class="language-cpp">struct knoten
{
   person daten;
   knoten* next;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1648759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648759</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 20 Jan 2009 10:58:13 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Fri, 22 Jun 2012 13:31:58 GMT]]></title><description><![CDATA[<p>nachrichtentext</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649445</guid><dc:creator><![CDATA[Torboe]]></dc:creator><pubDate>Fri, 22 Jun 2012 13:31:58 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Wed, 21 Jan 2009 16:57:44 GMT]]></title><description><![CDATA[<p>Torboe schrieb:</p>
<blockquote>
<p>jetzt bin ich etwas verwirrt. und wo soll ich dann die methoden und eigenschaften unterbringen??</p>
</blockquote>
<p>Nun Du brauchst am Ende drei Klassen:<br />
1.) person - schon vorhanden<br />
2.) knoten - Ein Element einer Liste; das Element hält ein person-Objekt und einen Pointer zum Verlinken der einzelnen Elemente<br />
3.) Personenliste - eine Klasse, bei der ein Objekt alle Elemente (Knoten) einer Liste von Personen enthält.</p>
<p>Versetze Dich einfach in die Lage des Anwenders Deines Codes:</p>
<pre><code class="language-cpp">// - Anlegen einer leeren Liste
    Personenliste personen;  // das Objekt 'personen' ist noch leer, hat ja keiner was reingetan

    // - Push-Front-Methode, die ein neues Person-Element (Parameter) am Anfang der Liste einfügt
    person hans, berta, steffi;
    // ...
    personen.push_front( hans );
    personen.push_front( berta );
    personen.push_front( steffi );

    // - Erase Methode, die ein bestimmtes Element (Nummer des Elements in der Liste ist Parameter) aus der Liste entfernt. 
    personen.erase( 1 ); // löscht das zweite Element in der Liste (index=0 ist das erste); hier die Kopie von 'berta'

    // - Funktion ausgabe, die den Inhalt der Liste auf dem Bildschirm ausgibt
    cout &lt;&lt; &quot;Alle Personen:\n&quot; &lt;&lt; personen &lt;&lt; endl;
</code></pre>
<p>D.h. fast alle zu implementierenden Methoden sind Methoden der Klasse Personenliste. Denk' dran, dass im Destruktor von Personenliste allokierter Speicher auch wieder freigegeben werden muss.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649705</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 21 Jan 2009 16:57:44 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Thu, 21 Jun 2012 18:00:05 GMT]]></title><description><![CDATA[<p>nachrichtentext</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649869</guid><dc:creator><![CDATA[Torboe]]></dc:creator><pubDate>Thu, 21 Jun 2012 18:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Wed, 21 Jan 2009 22:03:31 GMT]]></title><description><![CDATA[<p>Torboe schrieb:</p>
<blockquote>
<p>ok. hier mal ein beispiel. nur um einen neuen satz hinzuzufügen.</p>
<pre><code class="language-cpp">struc person{
string name;
int alter;
};
</code></pre>
</blockquote>
<p>hier wäre ein Konstruktor wünschenswert, dem man gleich einen Namen und das Alter übergeben kann.</p>
<p>Torboe schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class pliste{
private knoten* anker;

public: 
(...)
person(char*, double);
void einfuegen_vorne(char* double),
</code></pre>
</blockquote>
<p>was soll die Methode 'person' hier machen?</p>
<p>Torboe schrieb:</p>
<blockquote>
<pre><code class="language-cpp">person hans;
    // ...
    personen.einfuegen_vorne( hans );
</code></pre>
<p>jetzt erstelle ich ein objekt vom typ person und rufe die personen.push_front methode mit diesem objekt hans auf.</p>
</blockquote>
<p>push_front wär gut - heißt bei Dir immer noch 'einfuegen_vorne' ?!</p>
<p>Torboe schrieb:</p>
<blockquote>
<p>wie sieht dann die einfuegen_vorne methode aus?</p>
</blockquote>
<p>(s.u.) im Prinzip schon richtig</p>
<p>Torboe schrieb:</p>
<blockquote>
<p>und initialisiert wird das objekt hans dann schon mit dem standartkonstruktor aus der klasse person oder??</p>
</blockquote>
<p>.. wenn einer existiert, so wird nur der Standardkonstruktor von string aufgerufen. Der String ist dann leer.</p>
<p>Torboe schrieb:</p>
<blockquote>
<p>kann mir das bitte noch jmd sagen? ich schreibe morgen klausur <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="😮"
    />.</p>
<p>edit:</p>
<pre><code class="language-cpp">void pliste::einfuegen_vorne(person*&amp; Pobjekt)
{
knoten* node = new knoten;
node-&gt;daten = Pobjekt;  
node-&gt;next = Anker; 
Anker = node;       
}
</code></pre>
</blockquote>
<p>Das person-Objekt liegt auf dem Stack - und Du solltest es hier kopieren. Denke einfach es wäre ein int. Dann steht da:</p>
<pre><code class="language-cpp">void pliste::einfuegen_vorne( const person&amp; Pobjekt)
{
knoten* node = new knoten;
node-&gt;daten = Pobjekt;  
node-&gt;next = Anker; 
Anker = node;       
}
</code></pre>
<p>Übergabe von nicht trivialen Objekten erfolgt i.A. per const Referenz (lesender Zugriff).</p>
<p>Torboe schrieb:</p>
<blockquote>
<p><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="👍"
    /> oder <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      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>
</blockquote>
<p>na ja - da ist noch Verbesserungspotenzial.<br />
Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649898</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 21 Jan 2009 22:03:31 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Wed, 21 Jan 2009 22:27:15 GMT]]></title><description><![CDATA[<p>Torboe schrieb:</p>
<blockquote>
<p>ich schreibe morgen klausur <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="😮"
    />.</p>
</blockquote>
<p>Dann schau Dir vielleicht noch den <a href="http://de.wikipedia.org/wiki/Liste_(Datenstruktur)" rel="nofollow">Wikipedia-Artikel über Listen</a> und diese <a href="http://moritz.faui2k3.org/de/dmisc/einfach-verkettete-listen" rel="nofollow">Einführung</a> an; Achtung die Code-Beispiele sind C, wenn Du C++ lernst, so sind die nicht vorbildlich. In C++ gibt es Konstruktoren ..</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649911</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 21 Jan 2009 22:27:15 GMT</pubDate></item><item><title><![CDATA[Reply to titel on Thu, 21 Jun 2012 18:01:09 GMT]]></title><description><![CDATA[<p>nachrichtentext</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649913</guid><dc:creator><![CDATA[Torboe]]></dc:creator><pubDate>Thu, 21 Jun 2012 18:01:09 GMT</pubDate></item></channel></rss>