<?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[Doppelt verkettete Liste]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich versuche gerade mein Theoretisches Wissen über C++ in die Praxis umzusetzen mithilfe einer doppelt verketteten Liste. Ich werde diesen Thread benutzen und verschiedene Fragen reinposten damit ich nicht immer wieder einen neuen aufmachen muss. Ich denke es werden verschiedenste Fragen werden, da meine Programmierkenntnisse noch sehr dürftig sind.</p>
<p>Der Aufbau meiner Liste soll wie folgt aussehen: Ich habe die Klasse Element, welche u.a. einen Pointer auf das nächste und auf das vorherige Element enthält. Desweiteren die Klasse ListManager, in der u.a. Zeiger auf das erste und letzte Element in der Liste zeigt.</p>
<p>Meine erste Frage: Ich möchte jeder Instanz einer Klasse eine fortlaufende Nummer (im Bsp: identifier) geben, die ich später ausgeben lassen kann. Mein Ansatz sieht wie folgt aus:</p>
<pre><code>class Element
{
private:
	Element* next;
	Element* back;
	[b]static int identifier;[/b]

public:
	Element (void);	
	~Element (void);
	Element* getnext (){return next;}
	Element* getback (){return back;}
	static int getidentifier () {return identifier;}
	void setnext (Element* pnext) {next=pnext;}
	void setback (Element* pback) {back=pback;}
	void show (Element*);};

int Element::identifier=0;
Element::Element():next(NULL),back(NULL){Element::identifier++;}
</code></pre>
<p>Jetzt frag ich mich ob diese Lösung gut ist. Gibt es eine elegantere Lösung mein oben beschriebenes Problem zu lösen?</p>
<p>mfg und danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267953/doppelt-verkettete-liste</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 05:12:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267953.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 01 Jun 2010 19:02:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Doppelt verkettete Liste on Tue, 01 Jun 2010 19:02:43 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich versuche gerade mein Theoretisches Wissen über C++ in die Praxis umzusetzen mithilfe einer doppelt verketteten Liste. Ich werde diesen Thread benutzen und verschiedene Fragen reinposten damit ich nicht immer wieder einen neuen aufmachen muss. Ich denke es werden verschiedenste Fragen werden, da meine Programmierkenntnisse noch sehr dürftig sind.</p>
<p>Der Aufbau meiner Liste soll wie folgt aussehen: Ich habe die Klasse Element, welche u.a. einen Pointer auf das nächste und auf das vorherige Element enthält. Desweiteren die Klasse ListManager, in der u.a. Zeiger auf das erste und letzte Element in der Liste zeigt.</p>
<p>Meine erste Frage: Ich möchte jeder Instanz einer Klasse eine fortlaufende Nummer (im Bsp: identifier) geben, die ich später ausgeben lassen kann. Mein Ansatz sieht wie folgt aus:</p>
<pre><code>class Element
{
private:
	Element* next;
	Element* back;
	[b]static int identifier;[/b]

public:
	Element (void);	
	~Element (void);
	Element* getnext (){return next;}
	Element* getback (){return back;}
	static int getidentifier () {return identifier;}
	void setnext (Element* pnext) {next=pnext;}
	void setback (Element* pback) {back=pback;}
	void show (Element*);};

int Element::identifier=0;
Element::Element():next(NULL),back(NULL){Element::identifier++;}
</code></pre>
<p>Jetzt frag ich mich ob diese Lösung gut ist. Gibt es eine elegantere Lösung mein oben beschriebenes Problem zu lösen?</p>
<p>mfg und danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905628</guid><dc:creator><![CDATA[raised.fist]]></dc:creator><pubDate>Tue, 01 Jun 2010 19:02:43 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelt verkettete Liste on Tue, 01 Jun 2010 19:31:44 GMT]]></title><description><![CDATA[<p>Die Variable darf nicht statisch sein (im Element).</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905643</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Tue, 01 Jun 2010 19:31:44 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelt verkettete Liste on Tue, 01 Jun 2010 19:34:45 GMT]]></title><description><![CDATA[<p>theliquidwave schrieb:</p>
<blockquote>
<p>Die Variable darf nicht statisch sein (im Element).</p>
<p>Gruß</p>
</blockquote>
<p>OK, und warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905645</guid><dc:creator><![CDATA[raised.fist]]></dc:creator><pubDate>Tue, 01 Jun 2010 19:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelt verkettete Liste on Tue, 01 Jun 2010 19:40:11 GMT]]></title><description><![CDATA[<p>raised.fist schrieb:</p>
<blockquote>
<p>theliquidwave schrieb:</p>
<blockquote>
<p>Die Variable darf nicht statisch sein (im Element).</p>
</blockquote>
<p>OK, und warum?</p>
</blockquote>
<p>Lies nach, wofür <code>static</code> in diesem Kontext gut ist, und Du wirst es verstehen. Wenn Du die Erklärung zu <code>static</code> in Deinem C++ Buch nicht verstehst, kannst Du ja nochmal um Hilfe fragen. Bis dahin: Streng Dich mal ein bissel mehr an.</p>
<p>kk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905647</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 01 Jun 2010 19:40:11 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelt verkettete Liste on Tue, 01 Jun 2010 19:49:48 GMT]]></title><description><![CDATA[<p>Wenn man Instanzen zählen will, dann ist dieses vorgehen genau richtig.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class Test
{
private:
	static int number;

public:
	Test()
	{
		number++;
	}

private:
	Test(const Test&amp; rhs);
	Test&amp; operator=(const Test&amp; rhs);

public:
	static int getNumber() { return number; }
};

int Test::number = 0;

int main()
{
	Test a, b, c, d, e;

	std::cout &lt;&lt; Test::getNumber() &lt;&lt; std::endl;
}
</code></pre>
<p>Aber wozu brauchst du das bei der Liste? Eventuell ist das in dem Fall nicht sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905653</guid><dc:creator><![CDATA[.....]]></dc:creator><pubDate>Tue, 01 Jun 2010 19:49:48 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelt verkettete Liste on Tue, 01 Jun 2010 19:55:55 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>raised.fist schrieb:</p>
<blockquote>
<p>theliquidwave schrieb:</p>
<blockquote>
<p>Die Variable darf nicht statisch sein (im Element).</p>
</blockquote>
<p>OK, und warum?</p>
</blockquote>
<p>Lies nach, wofür <code>static</code> in diesem Kontext gut ist, und Du wirst es verstehen. Wenn Du die Erklärung zu <code>static</code> in Deinem C++ Buch nicht verstehst, kannst Du ja nochmal um Hilfe fragen. Bis dahin: Streng Dich mal ein bissel mehr an.</p>
<p>kk</p>
</blockquote>
<p><a href="http://www1.xup.in/exec/ximg.php?fid=10381180" rel="nofollow">http://www1.xup.in/exec/ximg.php?fid=10381180</a></p>
<p>Das ist ein Screenshot aus dem ebook, und dort steht genau das drin, was ich auch gepostet habe am anfang. Ich verstehe es nicht, warum soll beides richtig/falsch sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905657</guid><dc:creator><![CDATA[raised.fist]]></dc:creator><pubDate>Tue, 01 Jun 2010 19:55:55 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelt verkettete Liste on Tue, 01 Jun 2010 19:58:26 GMT]]></title><description><![CDATA[<p>Wie gesagt, das ist auch vollkommen korrekt. Hat das ganze denn noch einen tieferen Sinn, oder ist es einfach nur Interesse? Es ist einfach so, dass ich das bei einer solchen Liste noch nie benötigt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905660</guid><dc:creator><![CDATA[.....]]></dc:creator><pubDate>Tue, 01 Jun 2010 19:58:26 GMT</pubDate></item><item><title><![CDATA[Reply to Doppelt verkettete Liste on Tue, 01 Jun 2010 20:05:22 GMT]]></title><description><![CDATA[<p>Statische Klassenmember gibt's nur einmal. Im ganzen Programm.<br />
Bei dir benötigt aber jeder Knoten eine ID.</p>
<p>Deswegen: identifier darf nicht static sein, dafür führst du ein statisches nextIdentifier ein und im Konstruktor schreibst du identifier=nextIdentifier++;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905664</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 01 Jun 2010 20:05:22 GMT</pubDate></item></channel></rss>