<?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[Stack]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe mir in C++ einen kleinen Stack geschrieben, der folgendes schon<br />
kann:</p>
<p>[<em>] push - Daten auf den Stack legen<br />
[</em>] print - Alle Daten die auf dem Stack sind ausgeben</p>
<p>Jetzt möchte ich noch pop einbauen. pop soll das letzte Element zurück<br />
geben (return) und gleichzeitig das Element vom Stack entfernen.</p>
<p>So in etwa sieht mein Code bisher aus:</p>
<pre><code>CStack::CStack(unsigned int size) {
	_stack = new string[size];

	if (_stack == NULL) {
		/* -ENOMEM */
	}

	this-&gt;used = -1;
	this-&gt;size = size;
}

CStack::~CStack() {
	// TODO Auto-generated destructor stub
}

void CStack::push(string item) {
	this-&gt;used++;
	_stack[this-&gt;used] = item;
}

void CStack::print() {
	for (int i = 0; i &lt;= this-&gt;used; i++) {
		cout &lt;&lt; _stack[i] &lt;&lt; endl;
	}
}

string CStack::pop() {

}
</code></pre>
<p>Fehlt aber natürlich noch einiges.</p>
<p>So, jetzt zu meiner eigentlichen Frage: Wie kann ich meine pop<br />
Funktion schreiben? Die Rückgabe ginge mit return(_stack[this-&gt;used]),<br />
aber <strong>wie kann ich dann auch das letzte Element auf dem Stack löschen?</strong></p>
<p>Danke<br />
Franziska</p>
<p>p.s.: Ich darf kein STL oder andere 'fertige' Klassen verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257727/stack</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 00:01:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257727.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Jan 2010 14:17:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stack on Sat, 02 Jan 2010 14:17:43 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe mir in C++ einen kleinen Stack geschrieben, der folgendes schon<br />
kann:</p>
<p>[<em>] push - Daten auf den Stack legen<br />
[</em>] print - Alle Daten die auf dem Stack sind ausgeben</p>
<p>Jetzt möchte ich noch pop einbauen. pop soll das letzte Element zurück<br />
geben (return) und gleichzeitig das Element vom Stack entfernen.</p>
<p>So in etwa sieht mein Code bisher aus:</p>
<pre><code>CStack::CStack(unsigned int size) {
	_stack = new string[size];

	if (_stack == NULL) {
		/* -ENOMEM */
	}

	this-&gt;used = -1;
	this-&gt;size = size;
}

CStack::~CStack() {
	// TODO Auto-generated destructor stub
}

void CStack::push(string item) {
	this-&gt;used++;
	_stack[this-&gt;used] = item;
}

void CStack::print() {
	for (int i = 0; i &lt;= this-&gt;used; i++) {
		cout &lt;&lt; _stack[i] &lt;&lt; endl;
	}
}

string CStack::pop() {

}
</code></pre>
<p>Fehlt aber natürlich noch einiges.</p>
<p>So, jetzt zu meiner eigentlichen Frage: Wie kann ich meine pop<br />
Funktion schreiben? Die Rückgabe ginge mit return(_stack[this-&gt;used]),<br />
aber <strong>wie kann ich dann auch das letzte Element auf dem Stack löschen?</strong></p>
<p>Danke<br />
Franziska</p>
<p>p.s.: Ich darf kein STL oder andere 'fertige' Klassen verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1830925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1830925</guid><dc:creator><![CDATA[Franziska21]]></dc:creator><pubDate>Sat, 02 Jan 2010 14:17:43 GMT</pubDate></item><item><title><![CDATA[Reply to Stack on Sat, 02 Jan 2010 14:33:09 GMT]]></title><description><![CDATA[<p>1. element an der stelle <em>used</em> rausholen<br />
2. <em>used</em> eines runterzählen (sofern elemente vorhanden sind)<br />
3. element, welches vorher herausgeholt wurde zurückgeben</p>
<p>BTW: nach einem new oder new[] auf 0 zu prüfen ist nicht nötig (und nutzlos), denn es wird eine std::bad_alloc excetion geworfen. 0 wird nur bei der nothrow variante zurückgegeben.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1830929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1830929</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 02 Jan 2010 14:33:09 GMT</pubDate></item><item><title><![CDATA[Reply to Stack on Sat, 02 Jan 2010 14:35:18 GMT]]></title><description><![CDATA[<p>Hi Simon!</p>
<p>genauso will ich es machen.<br />
2 und 3 sind kein Problem.</p>
<p>2. this-&gt;used--<br />
3. return(letzteselement);</p>
<p>Kannst du mir bei 1 helfen? Genau da hänge ich fest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1830932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1830932</guid><dc:creator><![CDATA[Franziska21]]></dc:creator><pubDate>Sat, 02 Jan 2010 14:35:18 GMT</pubDate></item><item><title><![CDATA[Reply to Stack on Sat, 02 Jan 2010 14:40:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string CStack::pop() {
std::string temp = _stack[used];
//... 2-3
return temp;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1830935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1830935</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 02 Jan 2010 14:40:35 GMT</pubDate></item><item><title><![CDATA[Reply to Stack on Sat, 02 Jan 2010 14:49:52 GMT]]></title><description><![CDATA[<p>Hat funktioniert. So eine einfache Lösung eigentlich...<br />
Manchmal sieht man den Wald vor lauter Bäumen nicht..</p>
<p>Danke ihr süssen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1830937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1830937</guid><dc:creator><![CDATA[Franziska21]]></dc:creator><pubDate>Sat, 02 Jan 2010 14:49:52 GMT</pubDate></item></channel></rss>