<?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[KlausurAufgabe!!!]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Werde kommenden Montag eine Klausur in Proggen schreiben, und habe Verständniss sowie Syntax Probleme bei der Umsetzung einer ganz speziellen Aufgabe...ich poste sie mal:</p>
<p>b) Sie sollen eine Klasse CharQueue realisieren, welche einzelne Zeichen ( chars ) nach dem FIFO-Prinzip verwaltet. Dabei gilt, dass beliebig viele zeichen verwaltet werden müssen und dafür ein dynamisches Feld ( ws ) verwendet werden muß. Eine erste Klassendefinition sieht dabei wie folgt aus:</p>
<pre><code class="language-cpp">class  CharQueue
	{
		char  *ws;
	public:
		void insert( char x );		// fügt Zeichen x ans Ende der 
							// Warteschlange ein
		char get( );				// liefert nächstes Zeichen aus der 
							// Warteschlange
		int  empty();			// 1 = Warteschlange ist leer
							// 0 = Warteschlange ist nicht leer
	};

(1) Realisieren Sie die beiden Konstruktoren, welche die folgenden Variablendefinitionen   erlauben:

		CharQueue  cq;			// leere Wareschlange		(1P)
		CharQueue  cq1(“xyz“ );		// Zeichen x ist Anfang		(1P)
							// z ist Ende der Warteschlange
</code></pre>
<p>(2) Realisieren Sie die Methoden get(), insert() und empty() aus obiger (3P)<br />
Klassendefinition!</p>
<p>(3) Überlegen Sie, ob hier ein Destruktor bzw. ein Copy-Konstruktor nötig ist! (3P)<br />
Falls ja, dann realisieren Sie diese! ( Begründungen angeben ! )</p>
<p>Wie lös ich das? Zeichen X ans Ende der Warteschlange? ich versteh leider nur Bahnhof <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke im voraus!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/281254/klausuraufgabe</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 19:20:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/281254.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 29 Jan 2011 15:10:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sat, 29 Jan 2011 15:10:58 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Werde kommenden Montag eine Klausur in Proggen schreiben, und habe Verständniss sowie Syntax Probleme bei der Umsetzung einer ganz speziellen Aufgabe...ich poste sie mal:</p>
<p>b) Sie sollen eine Klasse CharQueue realisieren, welche einzelne Zeichen ( chars ) nach dem FIFO-Prinzip verwaltet. Dabei gilt, dass beliebig viele zeichen verwaltet werden müssen und dafür ein dynamisches Feld ( ws ) verwendet werden muß. Eine erste Klassendefinition sieht dabei wie folgt aus:</p>
<pre><code class="language-cpp">class  CharQueue
	{
		char  *ws;
	public:
		void insert( char x );		// fügt Zeichen x ans Ende der 
							// Warteschlange ein
		char get( );				// liefert nächstes Zeichen aus der 
							// Warteschlange
		int  empty();			// 1 = Warteschlange ist leer
							// 0 = Warteschlange ist nicht leer
	};

(1) Realisieren Sie die beiden Konstruktoren, welche die folgenden Variablendefinitionen   erlauben:

		CharQueue  cq;			// leere Wareschlange		(1P)
		CharQueue  cq1(“xyz“ );		// Zeichen x ist Anfang		(1P)
							// z ist Ende der Warteschlange
</code></pre>
<p>(2) Realisieren Sie die Methoden get(), insert() und empty() aus obiger (3P)<br />
Klassendefinition!</p>
<p>(3) Überlegen Sie, ob hier ein Destruktor bzw. ein Copy-Konstruktor nötig ist! (3P)<br />
Falls ja, dann realisieren Sie diese! ( Begründungen angeben ! )</p>
<p>Wie lös ich das? Zeichen X ans Ende der Warteschlange? ich versteh leider nur Bahnhof <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke im voraus!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2013884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2013884</guid><dc:creator><![CDATA[Ditgez]]></dc:creator><pubDate>Sat, 29 Jan 2011 15:10:58 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sat, 29 Jan 2011 15:46:29 GMT]]></title><description><![CDATA[<p>Erstmal lesen bevor man was postet: <a href="http://www.c-plusplus.net/forum/200753" rel="nofollow">Du brauchst Hilfe?</a></p>
<p>Und dann feststellen, dass Punkt 1 und 2 schonmal ein kleines Problem darstellen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2013899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2013899</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Sat, 29 Jan 2011 15:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sat, 29 Jan 2011 16:44:44 GMT]]></title><description><![CDATA[<p>Hallo Ditgez,</p>
<p>willkommen im C++-Forum.</p>
<p>Ditgez schrieb:</p>
<blockquote>
<p>Wie lös ich das? Zeichen X ans Ende der Warteschlange? ich versteh leider nur Bahnhof <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>wenn Du einen Speicher selber verwaltest, so musst Du drei Dinge über den Speicher wissen.<br />
- wo fängt er an -&gt; das ist leicht, der Pointer 'ws' zeigt darauf<br />
- wo hört er auf, bzw. wie lang ist er<br />
- wo ist die erste Stelle, die vom Benutzer nicht schon belegt ist. Mit anderen Worten, das Ende der Warteschlange.</p>
<pre><code>ws          ende_ws                          endeSpeicher
  |           |                                |
  v           v                                v
+---+---+---+---+---+---+---+---+---+---+---+
| x | y | z |   |   |   |   |   |   |   |   |
+---+---+---+---+---+---+---+---+---+---+---+
</code></pre>
<p>Die beiden Informationen 'ende_ws' und 'endeSpeicher' müssen natürlich noch in der Klasse gemerkt werden. Also</p>
<pre><code class="language-cpp">class  CharQueue
{
    char* ws;
    char* ende_ws;
    char* endeSpeicher;
</code></pre>
<p>Eine Methdode insert(char x) kopiert dann einfach das x an das Ende und inkrementiert den Zeiger 'ende_ws'. Natürlich muss vorher sichergestellt werden, dass ende_ws noch nicht bei endeSpeicher angekommen ist, also genaug Speicher vorhanden ist.</p>
<pre><code class="language-cpp">void CharQueue::insert( char x ) 
{
    if( ende_ws == endeSpeicher )
    {
        vergroessereSpeicher();
    }
    *ende_ws = x;
    ++ende_ws;
}
</code></pre>
<p>Gruß Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2013940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2013940</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sat, 29 Jan 2011 16:44:44 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sat, 29 Jan 2011 17:42:00 GMT]]></title><description><![CDATA[<p>Sind wir für solche Anfragen: 'brauche das dringend bis Montag, ich habe keine Ahnung' zuständig? <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="😕"
    /> Da will jemand nur eine ihm lästige Klausur abhaken! <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2013959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2013959</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Sat, 29 Jan 2011 17:42:00 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sat, 29 Jan 2011 18:05:06 GMT]]></title><description><![CDATA[<p>Das ist doch nicht schwer.<br />
Ein normaler Stack mit dem FIFO-Prinzip oder liege ich da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2013966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2013966</guid><dc:creator><![CDATA[CCodex]]></dc:creator><pubDate>Sat, 29 Jan 2011 18:05:06 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sat, 29 Jan 2011 18:18:00 GMT]]></title><description><![CDATA[<p>gamebuntu schrieb:</p>
<blockquote>
<p>Das ist doch nicht schwer.<br />
Ein normaler Stack mit dem FIFO-Prinzip oder liege ich da falsch?</p>
</blockquote>
<p>Stack und FIFO widerspricht sich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2013972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2013972</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Sat, 29 Jan 2011 18:18:00 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sat, 29 Jan 2011 18:30:07 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>gamebuntu schrieb:</p>
<blockquote>
<p>Das ist doch nicht schwer.<br />
Ein normaler Stack mit dem FIFO-Prinzip oder liege ich da falsch?</p>
</blockquote>
<p>Stack und FIFO widerspricht sich.</p>
</blockquote>
<p>Ja stimmt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2013977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2013977</guid><dc:creator><![CDATA[CCodex]]></dc:creator><pubDate>Sat, 29 Jan 2011 18:30:07 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sun, 30 Jan 2011 03:12:42 GMT]]></title><description><![CDATA[<p>Erstmal Danke an alle die mir geholfen haben,</p>
<p>ich hab mich vorher mit den Foren Regeln vertraut gemacht, und natürlich hab ich nach keiner Komplettlösung verlangt,</p>
<p>Es ist nur so, daß Einsteigern wie mir das Prinzip von dynamischen Daten nicht so Recht einleuchten will, meistens findet man das Heap Beispiel(Stichwort Eigenititiative) , was leider nicht sehr zugänglich ist</p>
<p>wie ein Beispiel mit was gegenständlicherem wie zB Autos...kennt jemand von euch ein Link oder änhliche Beispiele?</p>
<p>es gibt auch noch ein paar Syntax PRobleme die hier und da auftauchen, wär super wenn ihr mir kurz erklären könntet wie ich das zu verstehen hab, ich leg mal los:</p>
<pre><code class="language-cpp">String(const char *const) // &lt;---ein Char Konstanten Pointer mit dem //Signalwort const als Namen? ...dachte das widerspricht den Namenskonventionen //ich schreib ja auch nicht int int

String(const String &amp;) //&lt;--- das &amp; hängt doch irgendwie in der Luft sollte //hier keine Variable folgen damit der Compiler weiss welche Adresse gemeint //sein soll?
</code></pre>
<p>So das wars dann aber mit den Ungereimtheiten <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>
<p>Nochmals vielen Dank an Walter Salomon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2014083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2014083</guid><dc:creator><![CDATA[Ditgez]]></dc:creator><pubDate>Sun, 30 Jan 2011 03:12:42 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sun, 30 Jan 2011 03:56:30 GMT]]></title><description><![CDATA[<p>Ditgez schrieb:</p>
<blockquote>
<pre><code class="language-cpp">String(const char *const) // &lt;---ein Char Konstanten Pointer mit dem //Signalwort const als Namen? ...dachte das widerspricht den Namenskonventionen //ich schreib ja auch nicht int int

String(const String &amp;) //&lt;--- das &amp; hängt doch irgendwie in der Luft sollte //hier keine Variable folgen damit der Compiler weiss welche Adresse gemeint //sein soll?
</code></pre>
</blockquote>
<p>Das sind nur Deklarationen (vermutliche von Konstruktoren einer Klasse String???).</p>
<p>Bei Deklarationen kannst du den Namen der Variablen weglassen, da der Compiler nur den Typ kennen muss.</p>
<p>z.B. reicht</p>
<pre><code class="language-cpp">void foo(int&amp;, float);
</code></pre>
<p>als Deklaration aus, während die Definition dann die Variablennamen enthält und verwendet.</p>
<pre><code class="language-cpp">void foo(int&amp; myIntRef, float myFloat) 
{
    // mach was mit myInt und myFloat
}
</code></pre>
<p>Und noch als Tipp bezüglich der ersten Deklaration aus deiner Frage: Ein Zeiger selbst kann const sein, oder der Zeiger zeigt auf einen const Wert, oder beides kann zutreffen, d.h. ein const Zeiger auf einen const Wert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2014084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2014084</guid><dc:creator><![CDATA[asdasd]]></dc:creator><pubDate>Sun, 30 Jan 2011 03:56:30 GMT</pubDate></item><item><title><![CDATA[Reply to KlausurAufgabe!!! on Sun, 30 Jan 2011 21:36:39 GMT]]></title><description><![CDATA[<p>Achsoo klar... Dankeschön <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2014463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2014463</guid><dc:creator><![CDATA[Ditgez]]></dc:creator><pubDate>Sun, 30 Jan 2011 21:36:39 GMT</pubDate></item></channel></rss>