<?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[Verkettete Liste mit Objekten]]></title><description><![CDATA[<p>Hallo miteinander,</p>
<p>ich habe eine Verständnisfrage bei der ich nicht so recht weiter komme. Ich beschreibe das Problem einfach mal, also:<br />
Mein Programm enthält eine Klasse Schwein (nur ein par int werte), aus der ich mir beliebig viele neue Objekte erzeugen will (mittels new). Dazu muss ich eine Verkettete Liste verwenden. Dazu benötige ich zwei weitere Klassen eine containerSchwein, und eine knotenSchwein. Allerdings habe ich keine Ahnung wie ich anfangen soll, hat jemand einen nen Tipp für mich? Ich habe keine Ahnung wie ich die Zeiger miteinander verknüpfen soll. Für Hilfe wäre ich echt dankbar.</p>
<p>Grüsse</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/128344/verkettete-liste-mit-objekten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 16:17:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/128344.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Dec 2005 17:18:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Fri, 02 Dec 2005 17:18:14 GMT]]></title><description><![CDATA[<p>Hallo miteinander,</p>
<p>ich habe eine Verständnisfrage bei der ich nicht so recht weiter komme. Ich beschreibe das Problem einfach mal, also:<br />
Mein Programm enthält eine Klasse Schwein (nur ein par int werte), aus der ich mir beliebig viele neue Objekte erzeugen will (mittels new). Dazu muss ich eine Verkettete Liste verwenden. Dazu benötige ich zwei weitere Klassen eine containerSchwein, und eine knotenSchwein. Allerdings habe ich keine Ahnung wie ich anfangen soll, hat jemand einen nen Tipp für mich? Ich habe keine Ahnung wie ich die Zeiger miteinander verknüpfen soll. Für Hilfe wäre ich echt dankbar.</p>
<p>Grüsse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/932572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/932572</guid><dc:creator><![CDATA[Globalist]]></dc:creator><pubDate>Fri, 02 Dec 2005 17:18:14 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Fri, 02 Dec 2005 17:27:46 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich würde für Listen einfach den STL Container</p>
<pre><code class="language-cpp">std::list
</code></pre>
<p>nehmen.<br />
Als Heder musst du noch</p>
<pre><code class="language-cpp">#include&lt;list&gt;
</code></pre>
<p>einbinden und los geht's</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/932579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/932579</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 02 Dec 2005 17:27:46 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Fri, 02 Dec 2005 17:30:05 GMT]]></title><description><![CDATA[<p>ja schon, darf aber nicht verwendet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/932583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/932583</guid><dc:creator><![CDATA[Globalist]]></dc:creator><pubDate>Fri, 02 Dec 2005 17:30:05 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Fri, 02 Dec 2005 17:32:57 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Schöner Mist.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/932590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/932590</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 02 Dec 2005 17:32:57 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Fri, 02 Dec 2005 18:13:49 GMT]]></title><description><![CDATA[<p>Ich würde es mit einem Template realisieren (nein, ich würde die STL nutzen *g*). Damit kannst du in deine Liste Objekte beliebigen Typs speichern. Dann erstellst du einfach ein Objekt vom Typ Schwein und speicherst es darin. Wüsste nicht wofür man extra eine Klasse knotenSchwein nehmen sollte, außer das das Ding die Listenimplementierung darstellt und man nur Objekte vom Typ containerSchwein akzeptiert.<br />
Template-Liste:</p>
<pre><code class="language-cpp">template&lt;class T&gt; class List {
  T object;
  List *next;
public:
  /* Methoden */
};
</code></pre>
<p>andere Möglichkeit:</p>
<pre><code class="language-cpp">class ContainerSchwein {
  /* Repraesentierung eines Schweins */
};

class KnotenSchwein {
  ContainerSchwein object;
  KnotenSchwein* next;
public:
  /* Methoden */
};
</code></pre>
<p>So, dass sollte reichen. Wie eine Liste zu implementieren ist solltest du selbst hinkriegen. Im Internet und auch hier im Forum, sollte man dazu nicht nur Lösungen sondern auch gute Informationen kriegen die einem Helfen sowas zu realisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/932614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/932614</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Fri, 02 Dec 2005 18:13:49 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Sat, 03 Dec 2005 09:51:25 GMT]]></title><description><![CDATA[<p>Was ich mir voerstellen könnte, wäre auch noch so etwas:</p>
<pre><code class="language-cpp">class Knoten
{
  Schwein Daten;
  Knoten* next;
  friend class Container;
}

class Container
{
  Knoten* first;
  int count;
public:
  //Zugriffsfunktionen
}
</code></pre>
<p>(Container verwaltet die komplette Listenstruktur, Knoten ein einzelnes Listenelement)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/932891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/932891</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 03 Dec 2005 09:51:25 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Sat, 03 Dec 2005 17:29:13 GMT]]></title><description><![CDATA[<p>Sodale, schon mal danke für eure Hilfe. Bis jetzt bin ich so weit:</p>
<p>main:</p>
<pre><code class="language-cpp">#include &quot;schwein.h&quot;

int main(){
	schwein *ps;
	schwein *anfang = 0;
	schwein *ende = 0;
	char x;

	do{
		cout &lt;&lt; &quot;n : neues Schwein initialisieren&quot; &lt;&lt; endl;
		cout &lt;&lt; &quot;a : Schwein ausgeben&quot; &lt;&lt; endl;
		cout &lt;&lt; &quot;q : Ende&quot; &lt;&lt; endl;
		cin &gt;&gt; x;

		switch (x){
			case 'n' : ps = new schwein;
					   ps -&gt;p = 0;
					   ps -&gt;init();		   
					   if( ende != 0) ende-&gt;p = ps;
					   else anfang = ps;
					   ende = ps;

					   break;

			case 'a' : for (schwein *i = anfang; i != 0; i = i-&gt;p){
						i-&gt;print();
						}
					   break;
		}
	}while ( x != 'q');
}
</code></pre>
<p>Klasse Schwein:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;iomanip&gt;

using namespace std;

class schwein{
	private:

		int anzahl;

		int groesse;
		char name[20];
		int faulheit;

	public:
		void init();
		void print();
		schwein *p;

};

void schwein :: init(){

	cout &lt;&lt; &quot;Bitte die Groess eingeben: &quot; &lt;&lt; endl;
	cin &gt;&gt; groesse;

	cout &lt;&lt; &quot;Bitte den Namen des Tieres eingeben: &quot; &lt;&lt; endl;
	cin.sync();
	cin.getline(name, 20);

	cout &lt;&lt; &quot;Bitte den Grad der Faulheit eingeben: &quot; &lt;&lt; endl;
	cin &gt;&gt; faulheit;
}
void schwein :: print(){
	cout &lt;&lt; left &lt;&lt;setw(10) &lt;&lt; groesse &lt;&lt; setw(10) &lt;&lt;name &lt;&lt; setw(10) &lt;&lt;faulheit &lt;&lt; endl;
}

class container{

};

class knoten{

};
</code></pre>
<p>Wie kann ich jetzt aber die Initialisierung eines neuen Schweines, und die Verwaltung in die Klassen container und knoten bringen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933258</guid><dc:creator><![CDATA[Globalist]]></dc:creator><pubDate>Sat, 03 Dec 2005 17:29:13 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Sat, 03 Dec 2005 17:52:15 GMT]]></title><description><![CDATA[<p>Globalist schrieb:</p>
<blockquote>
<p>Wie kann ich jetzt aber die Initialisierung eines neuen Schweines, und die Verwaltung in die Klassen container und knoten bringen?</p>
</blockquote>
<p>Die Initialisierung eines Schweines hat in container und knoten nichts verloren.<br />
Ebenso braucht das schwein keinen pointer auf ein anderes schwein. Das ist die Aufgabe des knotens.<br />
Knoten sollte dann ungefähr so aussehen ( nehmen wir an du willst einen container von pointern auf schwein )</p>
<pre><code class="language-cpp">class knoten{
public:
    knoten( schwein * s ):data(s), next(0) {}
    schwein * getdata() { return data; }
    knoten * getnext() { return next; }
    friend class container;  // damit container direkt auf data und next zugreifen kann
protected:
    schwein * data;
    knoten * next;
};
</code></pre>
<p>Die klasse container verwaltet dann die knoten.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933275</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 03 Dec 2005 17:52:15 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Sat, 03 Dec 2005 18:03:53 GMT]]></title><description><![CDATA[<p>Jo danke für deine Mühe<br />
Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933286</guid><dc:creator><![CDATA[Globalist]]></dc:creator><pubDate>Sat, 03 Dec 2005 18:03:53 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Sun, 04 Dec 2005 10:43:14 GMT]]></title><description><![CDATA[<p>So nochmal ich, irgendwie fehlt mir der springende Gedanke. Es ist so dass ich eine Klasse container und Knoten nehmen muss. Der Knoten verwaltet das aktuelle Element und in kontainer befinden sich alle. Wenn ich mir jetzt ein neues Schwein erstelle wie speicher ich es dann? Ich habe so dass Gefühl dass mir der Ansatz fehlt. Wie wirkt alles zusammen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933715</guid><dc:creator><![CDATA[Globalist]]></dc:creator><pubDate>Sun, 04 Dec 2005 10:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Sun, 04 Dec 2005 11:00:59 GMT]]></title><description><![CDATA[<p>Als Ansatz.<br />
Der Benutzer deines containers sollte nichts über die implementations details des containers ( sprich knoten klasse ) wissen müssen. Die Verwaltung der Schweine liegt also ganz und gar in der Verantwortung des containers.<br />
Der container braucht also Funktionen um ein schwein einzufügen und ein bestimmtes schwein aus der Liste zu entfernen. Dann muss der container noch irgendwie Zugriff auf alle von ihm verwalteten schweine ermöglichen. Üblicherweise stellt der container dazu iterator-funktionen ( z.b get_first(), get_next() ) zur verfügung.<br />
Nützliche Funktionen der container-klasse wären dann noch get_anzahl() oder ist_leer().<br />
Hoffe das hilft dir weiter.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933724</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sun, 04 Dec 2005 11:00:59 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Liste mit Objekten on Sun, 04 Dec 2005 11:22:27 GMT]]></title><description><![CDATA[<p>dankeschön</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933740</guid><dc:creator><![CDATA[Globalist]]></dc:creator><pubDate>Sun, 04 Dec 2005 11:22:27 GMT</pubDate></item></channel></rss>