<?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[Template für lineare Liste von Knoten]]></title><description><![CDATA[<p>Habe eine Aufgabe bekommen und komme damit nicht so richtig zurecht.<br />
Die Aufgabe lautet folgendermaßen:</p>
<p>&quot;Entwickeln Sie ein Klassentemplate für eine lineare Liste von Knoten, die nur eine Variable data mit variablen Typ enthalten sollen. Das Template soll Methoden mit folgender Funktionalität besitzen:</p>
<p>a. Einfügen eines Knotens am Anfang der Liste<br />
b. Löschen des jeweils ersten Knotens der Liste<br />
c. Anzeigen der Liste am Bildschirm</p>
<p>Schreiben Sie dazu die entsprechenden Anweisungen; auch Testaufrufe in der main.&quot;</p>
<p>So weit, so gut. Hier ist mein Lösungsversuch:</p>
<pre><code>template &lt;class T&gt; class LinList
{
	T data;
	LinList * next;
};

class Liste
{
	LinList * first;

	void einfuegen(LinList * knoten)
	{
		knoten-&gt;next = first;	
first = knoten;
}
void loeschen()
{
	LinList * temp = first;
	first= first-&gt;next;
	delete temp;
}

void anzeigen()
{
	LinList * current = first;

	while(current != NULL)
	{
		cout &lt;&lt; current-&gt;data &lt;&lt;endl;
		current = current-&gt;next;
	}
}
}

int main()
{
	Liste neu;
	LinList * &lt;float&gt;wert;
	wert = new LinList &lt;float&gt;;
wert-&gt;data = 3.9;
neu.einfuegen( wert);
wert = new LinList &lt;float&gt;;
wert-&gt;data = 5.0;
	neu.einfuegen( wert);

	neu.anzeigen();

	wert.loeschen();

	neu.anzeigen();
	return 0;
}
</code></pre>
<p>Was meint ihr dazu? Kann das funktionieren, oder habt ihr mir gute Verbesserungstipps?</p>
<p>Schon mal im Vorraus danke für hoffentlich hilfreiche Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/127369/template-für-lineare-liste-von-knoten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 02:16:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127369.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Nov 2005 16:21:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 16:21:19 GMT]]></title><description><![CDATA[<p>Habe eine Aufgabe bekommen und komme damit nicht so richtig zurecht.<br />
Die Aufgabe lautet folgendermaßen:</p>
<p>&quot;Entwickeln Sie ein Klassentemplate für eine lineare Liste von Knoten, die nur eine Variable data mit variablen Typ enthalten sollen. Das Template soll Methoden mit folgender Funktionalität besitzen:</p>
<p>a. Einfügen eines Knotens am Anfang der Liste<br />
b. Löschen des jeweils ersten Knotens der Liste<br />
c. Anzeigen der Liste am Bildschirm</p>
<p>Schreiben Sie dazu die entsprechenden Anweisungen; auch Testaufrufe in der main.&quot;</p>
<p>So weit, so gut. Hier ist mein Lösungsversuch:</p>
<pre><code>template &lt;class T&gt; class LinList
{
	T data;
	LinList * next;
};

class Liste
{
	LinList * first;

	void einfuegen(LinList * knoten)
	{
		knoten-&gt;next = first;	
first = knoten;
}
void loeschen()
{
	LinList * temp = first;
	first= first-&gt;next;
	delete temp;
}

void anzeigen()
{
	LinList * current = first;

	while(current != NULL)
	{
		cout &lt;&lt; current-&gt;data &lt;&lt;endl;
		current = current-&gt;next;
	}
}
}

int main()
{
	Liste neu;
	LinList * &lt;float&gt;wert;
	wert = new LinList &lt;float&gt;;
wert-&gt;data = 3.9;
neu.einfuegen( wert);
wert = new LinList &lt;float&gt;;
wert-&gt;data = 5.0;
	neu.einfuegen( wert);

	neu.anzeigen();

	wert.loeschen();

	neu.anzeigen();
	return 0;
}
</code></pre>
<p>Was meint ihr dazu? Kann das funktionieren, oder habt ihr mir gute Verbesserungstipps?</p>
<p>Schon mal im Vorraus danke für hoffentlich hilfreiche Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925437</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 16:21:19 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 16:24:34 GMT]]></title><description><![CDATA[<p>Das kann so nicht funktionieren da LinList ein Template ist und bei den Definitionen kein T angegeben wird. class Liste musst du auch zum Template machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925441</guid><dc:creator><![CDATA[Konrad_]]></dc:creator><pubDate>Wed, 23 Nov 2005 16:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 16:31:57 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort. Kann mir aber jemand vielleicht ein Lösungsvorschlag schreiben? Bin mit meinem Latein ziemlich am Ende. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/925451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925451</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 16:31:57 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 17:06:22 GMT]]></title><description><![CDATA[<p>Lösungsvorschlag? Soweit kommts noch.<br />
Zu deinem Template-Problem:</p>
<pre><code class="language-cpp">template &lt;class T&gt;
class Liste
{
public:
    typedef T Type;
    typedef LinList&lt;Type&gt; NodeType;
    // LinList ist eigentlich der falsche Name für das Template,
    // Node oder Element wäre hübscher.
    // Dann hieße das hier:
    typedef Node&lt;Type&gt; NodeType;
    typedef NodeType* NodePointer;
    // Dann noch überall in den Methoden LinList* durch NodePointer ersetzen
    // und fertig.
</code></pre>
<p>Man fordert außerdem für Einfügen am Anfang (push) normalerweise nicht einen Knoten, sondern nur die Daten dieses Knotens. Der einzufügende Knoten wird in der Methode erzeugt. Das gilt auch für die anderen Methoden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925482</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 23 Nov 2005 17:06:22 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 17:30:17 GMT]]></title><description><![CDATA[<p>Mein Quelltext sieht nun folgendermaßen aus. Funktionieren tut es aber noch nicht.</p>
<pre><code>#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;
#include &lt;string.h&gt;

template &lt;class T&gt; class Node
{
    T data;
    Node *next;
};

template &lt;class T&gt; class Liste
{
	public:
		typedef T Type;
		typedef Node&lt;Type&gt; NodeType;
		typedef NodeType *NodePointer;
        Node *first;

    void einfuegen(NodePointer *knoten)
	{
		knoten-&gt;next = first;    
		first = knoten;
	}

	void loeschen()
	{
		NodePointer *temp = first;
		first= first-&gt;next;
		delete temp;
	}

	void anzeigen()
	{
		NodePointer *current = first;
		while(current != NULL)
		{
			cout &lt;&lt; current-&gt;data &lt;&lt;endl;
			current = current-&gt;next;
		}
};

int main()
{
    Liste neu;
    Node *&lt;float&gt;wert;
    wert = new Node &lt;float&gt;;
	wert-&gt;data = 3.9;
	neu.einfuegen( wert);
	wert = new Node &lt;float&gt;;
	wert-&gt;data = 5.0;
    neu.einfuegen(wert);

    neu.anzeigen();

    wert.loeschen();

    neu.anzeigen();
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925503</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 17:30:17 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 17:52:23 GMT]]></title><description><![CDATA[<p>Zwei kleine Änderungen hätte ich noch daran:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class Liste
{
  //...
  //1. Wozu hast du denn das Typedef?
  NodePointer first;

  //2. übergib' lieber nur Elemente und bau dir deine Knoten selber:
  void einfuegen(const T&amp; wert)
  {
    NodePointer n=new NodePointer;
    n-&gt;data=wert;
    n-&gt;next=first;
    first=n;
  }
  //...
};

//Aufrufe dann mit
Liste&lt;float&gt; lst;
lst.einfuegen(1.5);
//...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925526</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 23 Nov 2005 17:52:23 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 18:12:57 GMT]]></title><description><![CDATA[<p>Bekomme folgende Fehlermeldung, mit der ich nichts anfangen kann:</p>
<p>1.cpp<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(58) : fatal error C1075: Dateiende erreicht, bevor das zugehoerige Element fuer das linke Element Klammer '{' in 'C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp<br />
(12)' gefunden wurde<br />
Fehler beim Ausführen von cl.exe.</p>
<p>test2.exe - 1 Fehler, 0 Warnung(en)</p>
<p>Hier nochmal zur Hilfe den aktualisierten Quelltext:</p>
<pre><code>#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;
#include &lt;string.h&gt;

template &lt;class T&gt; class Node
{
    T data;
    Node *next;
};

template &lt;class T&gt; class Liste
{
	public:
		typedef T Type;
		typedef Node&lt;Type&gt; NodeType;
		typedef NodeType *NodePointer;
        Nodepointer first;

    void einfuegen(const T&amp; wert)
	{
		NodePointer n = new NodePointer;
		n-&gt;data = wert;
		n-&gt;next = first;
		first = n;
	}

	void loeschen()
	{
		NodePointer *temp = first;
		first= first-&gt;next;
		delete temp;
	}

	void anzeigen()
	{
		NodePointer *current = first;
		while(current != NULL)
		{
			cout &lt;&lt; current-&gt;data &lt;&lt;endl;
			current = current-&gt;next;
		}
};

int main()
{
    Liste&lt;float&gt; lst;
	lst.einfuegen(1.5);
	lst.einfuegen(4.3);
	lst.einfuegen(3.1);
	lst.anzeigen();

    lst.loeschen();
	lst.anzeigen();

    return 0;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925548</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 18:12:57 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 18:22:02 GMT]]></title><description><![CDATA[<p>Die schließende Klammer der anzeigen-Methode fehlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925559</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 23 Nov 2005 18:22:02 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 18:27:00 GMT]]></title><description><![CDATA[<p>Das hätte ich eigentlich sehen müssen. <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 />
Nur habe ich jetzt einige neue Fehler mit denen ich nichts anfangen kann:</p>
<blockquote>
<p>--------------------Konfiguration: test2 - Win32 Debug--------------------<br />
Kompilierung läuft...<br />
1.cpp<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(17) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'first'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Liste&lt;T&gt;'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(17) : error C2501: 'Nodepointer' : Fehlende Speicherklasse oder Typbezeichner<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Liste&lt;T&gt;'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(17) : error C2501: 'first' : Fehlende Speicherklasse oder Typbezeichner<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Liste&lt;T&gt;'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(17) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'first'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(48) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Liste&lt;float&gt;'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(17) : error C2501: 'Nodepointer' : Fehlende Speicherklasse oder Typbezeichner<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(48) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Liste&lt;float&gt;'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(17) : error C2501: 'first' : Fehlende Speicherklasse oder Typbezeichner<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(48) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Liste&lt;float&gt;'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(50) : warning C4305: 'argument' : Verkuerzung von 'const double' in 'const float'<br />
C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(51) : warning C4305: 'argument' : Verkuerzung von 'const double' in 'const float'<br />
Fehler beim Ausführen von cl.exe.</p>
<p>test2.exe - 6 Fehler, 2 Warnung(en)</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/925566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925566</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 18:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 18:31:56 GMT]]></title><description><![CDATA[<pre><code>Nodepointer first;
</code></pre>
<p>sollte</p>
<pre><code>NodePointer first;
</code></pre>
<p>sein<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925569</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Wed, 23 Nov 2005 18:31:56 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 18:36:57 GMT]]></title><description><![CDATA[<p>Die Warnungen kommen daher, dass ein 0.0 Literal double ist, für float musst du ein f dahinter schreiben (0.0f).</p>
<p>Ich bin mir nicht sicher, ob es was ausmacht, aber ich würde</p>
<pre><code class="language-cpp">typedef NodeType* NodePointer;
</code></pre>
<p>schreiben.</p>
<p>Dann solltest du noch Node entweder zu einem struct machen oder mit der Liste anfreunden:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
struct Node
{/*...*/};

// oder

template &lt;typename T&gt;
class Liste;

template &lt;typename T&gt;
class Node
{
    friend class Liste&lt;T&gt;;
    // ...
};
</code></pre>
<p>Ein weiterer Fehler:</p>
<pre><code class="language-cpp">NodePointer n = new NodePointer; // ist Quatsch
NodePointer n = new NodeType; // so ist's richtiger
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925574</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 23 Nov 2005 18:36:57 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 18:53:25 GMT]]></title><description><![CDATA[<p>Habe Node zu einem struct gemacht und die Fehleranzahl hat sich auf eine einzige verringert. Ich denke es wird eine Flasche Sekt aufgemacht, wenn ich das Ding zum laufen bringe (selbstverständlich durch eure Hilfe <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>C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test2\1.cpp(29) : error C2440: 'initializing' : 'struct Node&lt;float&gt; *' kann nicht in 'struct Node&lt;float&gt; ** ' konvertiert werden</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/925584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925584</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 18:53:25 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 18:55:39 GMT]]></title><description><![CDATA[<p>Jaha, dann lies noch mal den letzten Teil meines Posts!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925586</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 23 Nov 2005 18:55:39 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 19:02:58 GMT]]></title><description><![CDATA[<p>Deine Hinweise habe ich eigentlich beachtet.<br />
Habe</p>
<blockquote>
<p>NodePointer n = new NodePointer;</p>
</blockquote>
<p>in</p>
<blockquote>
<p>NodePointer n = new NodeType;</p>
</blockquote>
<p>abgeändert und die main sieht nun so aus:</p>
<pre><code>int main()
{
    Liste&lt;float&gt; lst;
	lst.einfuegen(1.5f);
	lst.einfuegen(4.3f);
	lst.einfuegen(3.1f);
	lst.anzeigen();

    lst.loeschen();
	lst.anzeigen();

    return 0;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925595</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 19:02:58 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 19:09:29 GMT]]></title><description><![CDATA[<p>temp und current in irgendwelchen Methoden sind als NodePointer* ausgewiesen, sollten aber NodePointer sein. Aber das hatten wir schon n paar mal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/925601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925601</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 23 Nov 2005 19:09:29 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 19:17:11 GMT]]></title><description><![CDATA[<p>Es funktioniert jetzt alles, ausser in der anzeigen()-methode.<br />
es gibt eine access violation in:</p>
<pre><code>cout &lt;&lt; current-&gt;data &lt;&lt;endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925608</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 19:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 19:28:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;class T&gt;
struct Node
{
    Node () : next (0) {}
    // Rest wie gehabt
</code></pre>
<p>Ansonsten hat next nirgendwo den Wert NULL bzw. 0 (wie der C++ler tut).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925620</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 23 Nov 2005 19:28:32 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 19:40:36 GMT]]></title><description><![CDATA[<p>Also ich habe keine Ahnung, wo das Zeigerproblem liegt. Werde ich mich mit dem zufrieden geben, was ich jetzt habe. Trotzdem danke nochmal .filmor für die Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925632</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 19:40:36 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 20:02:54 GMT]]></title><description><![CDATA[<p>Hab's mir überlegt und gebe mich nicht zufrieden, so kurz vor dem Ziel aufzugeben <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="😮"
    /> . Bin also für jegliche Hilfe, die zur Lösung beihilft, sehr dankbar.<br />
Zur Übersicht gebe ich nochmal den gesamten Quelltext an:</p>
<pre><code>#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;
#include &lt;string.h&gt;

template &lt;typename T&gt; struct Node
{
	Node() : next (0) {};
	T data;
    Node* next;
};

template &lt;typename T&gt; class Liste
{
	public:
		typedef T Type;
		typedef Node&lt;Type&gt; NodeType;
		typedef NodeType* NodePointer;
        NodePointer first;

    void einfuegen(const T&amp; wert)
	{
		NodePointer n = new NodeType;
		n-&gt;data = wert;
		n-&gt;next = first;
		first = n;
	}

	void loeschen()
	{
		NodePointer temp = first;
		first= first-&gt;next;
		delete temp;
	}

	void anzeigen()
	{
		NodePointer current = first;
		while(current != NULL)
		{
			cout &lt;&lt; current-&gt;data &lt;&lt;endl;
			current = current-&gt;next;
		}
	}
};

int main()
{
    Liste&lt;float&gt; lst;
	lst.einfuegen(1.5f);
	lst.einfuegen(4.3f);
	lst.einfuegen(3.1f);
	lst.anzeigen();

    lst.loeschen();
	lst.anzeigen();

    return 0;
	getch();
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925660</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 20:02:54 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 20:06:46 GMT]]></title><description><![CDATA[<p>Die Klasse List braucht auch einen constructor denn sonst ist first nicht initialisiert. Nach dem einfügen des ersten nodes zeigt dann sein next pointer ins Nirvana.</p>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925664</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Wed, 23 Nov 2005 20:06:46 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 20:32:55 GMT]]></title><description><![CDATA[<p>Meinst du so?</p>
<pre><code>//...
	Liste()
	{
	    first=NULL;
	}
         //...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925691</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 20:32:55 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 20:52:56 GMT]]></title><description><![CDATA[<p>Jo<br />
oder so</p>
<pre><code class="language-cpp">Liste():first(0) {
}
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925713</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Wed, 23 Nov 2005 20:52:56 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 21:30:44 GMT]]></title><description><![CDATA[<p>Konstruktor initialisiert nun first. Nur die Fehlermeldungen werden immer kryptischer. Hat das immernoch was mit dem Zeiger zu tun?</p>
<blockquote>
<p>&quot;ntdll.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\kernel32.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\user32.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\gdi32.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\uxtheme.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\msvcrt.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\advapi32.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\rpcrt4.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\msctf.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\shlwapi.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\oleaut32.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
&quot;C:\WINDOWS\system32\ole32.dll&quot; wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.<br />
Thread 0x11C wurde mit Code 0 (0x0) beendet.<br />
Das Programm &quot;C:\Programme\Microsoft Visual Studio\MSDev98\MyProjects\test3\Debug\2.exe&quot; wurde mit Code 0 (0x0) beendet.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/925741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925741</guid><dc:creator><![CDATA[C++Noob]]></dc:creator><pubDate>Wed, 23 Nov 2005 21:30:44 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Wed, 23 Nov 2005 23:04:05 GMT]]></title><description><![CDATA[<p>Wo siehst du da eine Fehlermeldung ?<br />
K.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925773</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Wed, 23 Nov 2005 23:04:05 GMT</pubDate></item><item><title><![CDATA[Reply to Template für lineare Liste von Knoten on Thu, 24 Nov 2005 07:25:57 GMT]]></title><description><![CDATA[<p>Das sind keine Fehlermeldungen, sondern die üblichen Debug-Ausgaben der eingebundenen Bibliotheken - eigentlich sollte sich parallel zu diesen Ausgaben dein Konsolenfenster geöffnet haben und ein paar Ausgaben ausspucken.</p>
<p>PS: Ich würde ja noch den Node-Konstruktor etwas erweitern:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
struct Node
{
  Node(const T&amp; wert,Node* n=0):data(wert),next(n){}
  //Rest wie bisher
};

template&lt;typename T&gt;
class Liste
{
public:
  void einfuegen(const T&amp; wert)
  {
    NodePointer temp=new NodeType(wert,first);
    first=temp;
  }
  //Rest wie bisher
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/925834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925834</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 24 Nov 2005 07:25:57 GMT</pubDate></item></channel></rss>