<?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[enum und Subscript operator []]]></title><description><![CDATA[<p>hallo,</p>
<p>ich versuche einen Jukebox zu Programmieren, und da ich enum zum ersten mal benutze, weiss ich nicht wie ich diese Funktion verwenden soll.<br />
Hier ist mein Code :</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

class Jukebox
{
	private :
		int *p;
		int titel_in ;
	public:
		Jukebox (int titel = 300);
		~Jukebox (void);
		int &amp;operator  [] (int index);
		enum m {RocknRoll , Schnulze , Techno , Goodbye};
};
Jukebox :: Jukebox(int titel)
{
p = new int [titel];
	if (p)
	{
	titel_in = titel;
	}
		else 
		titel = 0;
}
Jukebox :: ~Jukebox (void)
{
	if (p)
	{
	delete [] p;
	p = NULL;
}
}
int &amp;Jukebox :: operator [] (int index)
{
	if (index &gt;=0 &amp;&amp; index &lt; titel_in)

	return p [index];
	cerr &lt;&lt; &quot;Zugriff außerhalb Bereich&quot; &lt;&lt; &quot;ist&quot; &lt;&lt; index &lt;&lt; &quot;Max ist :&quot; &lt;&lt; titel_in - 1 &lt;&lt; endl;
	exit (1);
}
</code></pre>
<p>Ich möchte mit hilfe von enum, das Programm so verwalten:<br />
wenn der benutzer ein Zahl zwischen 1 und 100 , wird er die Rocknroll titeln bekommen und der subscript operator [] gibt einen string aus &quot;Rocknroll &quot;.<br />
101 bis 200 , werden die schnulzen lieder abgespielt und der subscript operator [] gibt einen string aus &quot;Schnulzen &quot;.<br />
201 bis 300 werden die Techno lieder abgespielt und der subscript operator [] gibt einen string aus &quot;Techno &quot;.<br />
titel 222 wird das lied Goodbye abgespielt und der subscript operator [] gibt einen string aus &quot;Goodbye &quot;.Und das Programm wird beendet.</p>
<p>Hat jemand eine Idee??</p>
<p>Danke schon mal</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267374/enum-und-subscript-operator</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 12:41:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267374.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 May 2010 14:16:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to enum und Subscript operator [] on Sun, 23 May 2010 14:16:23 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich versuche einen Jukebox zu Programmieren, und da ich enum zum ersten mal benutze, weiss ich nicht wie ich diese Funktion verwenden soll.<br />
Hier ist mein Code :</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

class Jukebox
{
	private :
		int *p;
		int titel_in ;
	public:
		Jukebox (int titel = 300);
		~Jukebox (void);
		int &amp;operator  [] (int index);
		enum m {RocknRoll , Schnulze , Techno , Goodbye};
};
Jukebox :: Jukebox(int titel)
{
p = new int [titel];
	if (p)
	{
	titel_in = titel;
	}
		else 
		titel = 0;
}
Jukebox :: ~Jukebox (void)
{
	if (p)
	{
	delete [] p;
	p = NULL;
}
}
int &amp;Jukebox :: operator [] (int index)
{
	if (index &gt;=0 &amp;&amp; index &lt; titel_in)

	return p [index];
	cerr &lt;&lt; &quot;Zugriff außerhalb Bereich&quot; &lt;&lt; &quot;ist&quot; &lt;&lt; index &lt;&lt; &quot;Max ist :&quot; &lt;&lt; titel_in - 1 &lt;&lt; endl;
	exit (1);
}
</code></pre>
<p>Ich möchte mit hilfe von enum, das Programm so verwalten:<br />
wenn der benutzer ein Zahl zwischen 1 und 100 , wird er die Rocknroll titeln bekommen und der subscript operator [] gibt einen string aus &quot;Rocknroll &quot;.<br />
101 bis 200 , werden die schnulzen lieder abgespielt und der subscript operator [] gibt einen string aus &quot;Schnulzen &quot;.<br />
201 bis 300 werden die Techno lieder abgespielt und der subscript operator [] gibt einen string aus &quot;Techno &quot;.<br />
titel 222 wird das lied Goodbye abgespielt und der subscript operator [] gibt einen string aus &quot;Goodbye &quot;.Und das Programm wird beendet.</p>
<p>Hat jemand eine Idee??</p>
<p>Danke schon mal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901530</guid><dc:creator><![CDATA[pava]]></dc:creator><pubDate>Sun, 23 May 2010 14:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to enum und Subscript operator [] on Sun, 23 May 2010 15:08:58 GMT]]></title><description><![CDATA[<p>hm? der code ist an sehr vielen stellen mindestens komisch...</p>
<p>was soll der op[] nun ausgeben? int? int&amp;? string? m(der/das enum)?</p>
<p>was stellst du dir unter eine jukebox vor? einfach nur x titel in einer liste? (bzw irgendeinem container)<br />
und zu dem titel sollen versch. informationen (z.bsp. genre) gespeichert werden, richtig?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901555</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 23 May 2010 15:08:58 GMT</pubDate></item><item><title><![CDATA[Reply to enum und Subscript operator [] on Sun, 23 May 2010 15:32:09 GMT]]></title><description><![CDATA[<p>Dein Code macht nichts ausser nicht-initialisierte integer auszuspucken.</p>
<p>Wieso packst du nicht alle Lieder in einen Container und sortierst den nach Genre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901563</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Sun, 23 May 2010 15:32:09 GMT</pubDate></item><item><title><![CDATA[Reply to enum und Subscript operator [] on Sun, 23 May 2010 16:30:56 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich weiss nicht was Ihr mit Countainer meint. Das programm soll einfach für jede musik Richtung den selben String ausgeben.<br />
hier ist die aufgabe:<br />
**<br />
Die Platten bzw. Titel in der Jukebox werden über ein Array verwaltet. Es gibt Platz für 300<br />
Titel.</p>
<p>Titel 1-100 sind die Rock&amp;Roll-Titel, dort werden beim Zugriff auf einen dieser Titel vom<br />
Subscript-Operator ausgegeben: „Es leben Twist, Boogie, RocknRoll“ (Ausgabestring).</p>
<p>Titel 101 bis 200 sind die Schnulzen, dort wird beim Zugriff ausgegeben: „Jetzt träumerisch<br />
schauen und gelegentlich seufzen“.</p>
<p>Titel 201 bis 300 sind die Techno-Titel, dort wird ausgegeben „Raven bis der Arzt kommt“.</p>
<p>Titel 222 ist speziell. Da kommt der Titel „It’s Time to say Goodbye“ und das Programm wird<br />
nach dieser Ausgabe beendet.</p>
<p>• Erstellen Sie die Klasse „Jukebox“.</p>
<p>• Schreiben Sie einen Konstruktor, der die 300 Plätze für die Titel als enum-Objekte s.u.<br />
(alternativ als integer-Objekte) erstellt (Ressource beschaffen).</p>
<p>• Schreiben Sie einen Destruktor, der die beschafften Ressourcen wieder freigibt und<br />
danach eine Meldung ausgibt, dass das Objekt aufgelöst wurde.</p>
<p>• Überladen Sie den Subscript-Operator so, dass beim Zugriff die zur Titelnummer passende<br />
Aktion ausgelöst wird, also die Ausgabe der Titelnummer und des Ausgabetextes s.o. Der<br />
Operator soll vom folgenden Ergebnistyp sein:</p>
<p>enum Musiktyp {RocknRoll, Schnulze, Techno, GoodBye};</p>
<p>• Hinweis: Was ist ein Zugriff? : weisen Sie einer passenden Variablen den Ergebniswert zu.</p>
<p>• Erstellen Sie ein Hauptprogramm, in dem Sie eine Instanz der Klasse Jukebox definieren<br />
und über den Subscript-Operator auf die Titel zugreifen und damit die oben beschriebenen<br />
Methoden aufrufen.</p>
<p>Beispiel: i = jukebox1[37];</p>
<p>• Verwenden Sie dazu eine Schleife, in der die Titelnummer vom Benutzer eingelesen wird<br />
und damit der Zugriff durchgeführt wird.</p>
<p>• Wenn die Titelnummer 222 eingegeben wurde, wird nach dem Zugriff die Schleife beendet.<br />
Damit endet auch das Programm.**</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901586</guid><dc:creator><![CDATA[pava]]></dc:creator><pubDate>Sun, 23 May 2010 16:30:56 GMT</pubDate></item><item><title><![CDATA[Reply to enum und Subscript operator [] on Sun, 23 May 2010 16:52:11 GMT]]></title><description><![CDATA[<p>Was mal wieder für eine dämliche Aufgabe...<br />
Weil heute Pfingstsonntag ist als Inspiration:</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;algorithm&gt;
#include &lt;string&gt;

class jukebox
{
public:
	enum genre{RocknRoll , Schnulze , Techno , Goodbye};

	jukebox()
		: songs(100, RocknRoll)
	{
		songs.insert(songs.end(),100, Schnulze );
		songs.insert(songs.end(),100, Techno );
		songs.push_back(Goodbye);
	}

	genre operator[](size_t index)
	{
		genre g = songs.at(index);
		std::cout &lt;&lt; genre_message(g);
		return g;
	}

private:

	std::string genre_message(genre g)
	{
		switch(g)
		{
			case RocknRoll: return &quot;Jetzt kommt RocknToll&quot;;
			case Schnulze: return &quot;Jetzt kommt Schnulze&quot;;
			case Techno: return &quot;Jetzt kommt Techno&quot;;
			case Goodbye: return &quot;Und Tschüss&quot;;
		}
		return &quot;ballaballa?&quot;;
	}

	std::vector&lt;genre&gt; songs;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1901595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901595</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Sun, 23 May 2010 16:52:11 GMT</pubDate></item></channel></rss>