<?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]]></title><description><![CDATA[<p>Hallo!!</p>
<p>ich habe folgenden Code geschrieben:</p>
<pre><code class="language-cpp">class Window {
public:
	enum eSTYLE {
	SYSMENU, MINBOX, MAXBOX, CLOSEBOX
	};
private:
	int xpos;
	int ypos;
	int xsize;
	int ysize;
	string title;
	eSTYLE stil;
public:
	Window(int x, int y, int l, int b, string t, eSTYLE s);
	~Window();
	void Paint();
	void MoveWin(int x, int y);
	void ResizeWin(int x, int y);
};

....

void main() {
	Window win1(10, 20, 50, 60, &quot;Fenster1&quot;, Window::eSTYLE(Window::SYSMENU));
	Window win2(100, 200, 500, 600, &quot;Fenster2&quot;, Window::eSTYLE(Window::MINBOX|Window::SYSMENU));
</code></pre>
<p>Wieso bitte gibt ergibt sich aus win2 beim Verwenden von &quot;cout &lt;&lt; style&quot; (ich gebe jetzt nicht die Methode an, in der das vorkommt) ein Wert von &quot;3&quot;? Denn dieser Wert steht doch eigentlich für die vierte enum-Komponente, also für CLOSEBOX... ??</p>
<p>Vielen Dank im voraus <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/topic/203495/enum</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 14:02:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203495.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Jan 2008 12:25:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 12:25:56 GMT]]></title><description><![CDATA[<p>Hallo!!</p>
<p>ich habe folgenden Code geschrieben:</p>
<pre><code class="language-cpp">class Window {
public:
	enum eSTYLE {
	SYSMENU, MINBOX, MAXBOX, CLOSEBOX
	};
private:
	int xpos;
	int ypos;
	int xsize;
	int ysize;
	string title;
	eSTYLE stil;
public:
	Window(int x, int y, int l, int b, string t, eSTYLE s);
	~Window();
	void Paint();
	void MoveWin(int x, int y);
	void ResizeWin(int x, int y);
};

....

void main() {
	Window win1(10, 20, 50, 60, &quot;Fenster1&quot;, Window::eSTYLE(Window::SYSMENU));
	Window win2(100, 200, 500, 600, &quot;Fenster2&quot;, Window::eSTYLE(Window::MINBOX|Window::SYSMENU));
</code></pre>
<p>Wieso bitte gibt ergibt sich aus win2 beim Verwenden von &quot;cout &lt;&lt; style&quot; (ich gebe jetzt nicht die Methode an, in der das vorkommt) ein Wert von &quot;3&quot;? Denn dieser Wert steht doch eigentlich für die vierte enum-Komponente, also für CLOSEBOX... ??</p>
<p>Vielen Dank im voraus <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/1441932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441932</guid><dc:creator><![CDATA[julchen81]]></dc:creator><pubDate>Wed, 23 Jan 2008 12:25:56 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 12:37:33 GMT]]></title><description><![CDATA[<p>warum mit der zahl arbeiten ? das is doch der sinn des enums das du keine zahl brauchst</p>
<p>if( Window::MAXBOX )<br />
std::cout &lt;&lt; &quot;MaxBox&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441945</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 23 Jan 2008 12:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 12:37:43 GMT]]></title><description><![CDATA[<p>Mit enum-Werten wird nicht gerechnet, darum werden sie in int-Zahlen umgewandelt - und &quot;2 | 1 &quot; ergibt nunmal den Wert 3 (rein zufällig MAXBOX). Wenn du deine Flags getrennt auswerten können willst, mußt du die Werte explizit auf Zweierpotenzen verteilen, dann kommen sie sich bei solchen Operationen nicht in die Quere.</p>
<p>PS: Bist du sicher, daß du nicht einen enum-Wert unterschlagen hast? Die 3 sollte eher bei der Kombination MINBOX|MAXBOX auftreten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441946</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 23 Jan 2008 12:37:43 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 12:47:15 GMT]]></title><description><![CDATA[<p>Zu Mr Evil:<br />
danke, aber ich sitze da grad an einem Übungsprogramm und ich möchte es nur verstehen. Dieses Programm hat keinen wirklich praktischen Nutzen, deshalb arbeite ich auch mit der Zahl.</p>
<p>Zu CStoll:<br />
ich bin sicher, dass ich keinen enum-Wert unterschlagen habe!<br />
und was für eine Rechenoperation soll dieser senkrechte Strich '|' sein? Ich weiß nämlich nicht, wie ich bei &quot;2|1&quot; auf &quot;3&quot; kommen soll, ausser dieser Strich wird durch ein &quot;+&quot; ersetzt?? <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="😮"
    /></p>
<p>Ciao und hoffentlich bis gleich... ? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1441955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441955</guid><dc:creator><![CDATA[julchen81]]></dc:creator><pubDate>Wed, 23 Jan 2008 12:47:15 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 12:57:37 GMT]]></title><description><![CDATA[<p>julchen81 schrieb:</p>
<blockquote>
<p>ich bin sicher, dass ich keinen enum-Wert unterschlagen habe!</p>
</blockquote>
<p>Dann passt der Code-Schnipsel nicht zu deiner Fehlerbeschreibung (außer das MAXBOX wird irgendwo im Inneren der Klasse mit reingerechnet).</p>
<blockquote>
<p>und was für eine Rechenoperation soll dieser senkrechte Strich '|' sein? Ich weiß nämlich nicht, wie ich bei &quot;2|1&quot; auf &quot;3&quot; kommen soll, ausser dieser Strich wird durch ein &quot;+&quot; ersetzt?? <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="😮"
    /></p>
</blockquote>
<p>Das ist eine bitweise ODER-Kombination. Die Zahlen werden im Binärformat ausgeschrieben und jede Stelle wird einzeln miteinander verknüpft:</p>
<pre><code>2 = 0010
1 = 0001
--------
    0011 = 3
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1441959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441959</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 23 Jan 2008 12:57:37 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 12:58:49 GMT]]></title><description><![CDATA[<p>Hi!<br />
Wenn mich nicht alles täuscht, ist das ein Bitvergleich (in diesem Fall ein logisches 'or'). Also:</p>
<p>true | false = true<br />
false | true = true<br />
true | true = true<br />
false | false = false</p>
<p>oder:</p>
<p>1 | 0 = 1<br />
0 | 1 = 1<br />
1 | 1 = 1<br />
0 | 0 = 1</p>
<p>In deiner Anwendung:</p>
<p>0001 --&gt; '1'<br />
0010 --&gt; '2'<br />
----<br />
0011 --&gt; die im Programm auftretende '3'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441962</guid><dc:creator><![CDATA[Slim Jim]]></dc:creator><pubDate>Wed, 23 Jan 2008 12:58:49 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 13:07:32 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a><br />
ah... binäre Addition, *Groschen-Fall* - danke für deine Lösung!</p>
<p>Also dieses MAXBOX wird nirgendwo mit eingerechnet, hier ist der (nahezu) komplette Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

class Window {
public:
	enum eSTYLE {
	SYSMENU, MINBOX, MAXBOX, CLOSEBOX
	};
private:
	int xpos;
	int ypos;
	int xsize;
	int ysize;
	string title;
	eSTYLE stil;
public:
	Window(int x, int y, int l, int b, string t, eSTYLE s);
	~Window();
	void Paint();
	void MoveWin(int x, int y);
	void ResizeWin(int x, int y);
};

Window::Window(int x, int y, int l, int b, string t, eSTYLE s) {
	xpos = x;
	ypos = y;
	xsize = l;
	ysize = b;
	title = t;
	stil = s;
	cout &lt;&lt; title &lt;&lt; &quot; erstellt.\n&quot;;
}

Window::~Window() {
	cout &lt;&lt; title &lt;&lt; &quot; Fenster vernichtet!\n&quot;;
}

void Window::Paint() {
	cout &lt;&lt; title &lt;&lt; endl;
	cout &lt;&lt; &quot;Position: &quot; &lt;&lt; xpos &lt;&lt; &quot;, &quot; &lt;&lt; ypos &lt;&lt; endl;
	cout &lt;&lt; &quot;Groesse: &quot; &lt;&lt; xsize &lt;&lt; &quot;, &quot; &lt;&lt; ysize &lt;&lt; endl;
	cout &lt;&lt; &quot;Stil: &quot; &lt;&lt; stil &lt;&lt; endl &lt;&lt; endl;
}

void Window::MoveWin(int x, int y) {
....
}

void Window::ResizeWin(int x, int y) {
....
}

void main() {
	Window win1(10, 20, 50, 60, &quot;Fenster1&quot;, Window::eSTYLE(Window::SYSMENU));
	Window win2(100, 200, 500, 600, &quot;Fenster2&quot;, Window::eSTYLE(Window::MINBOX|Window::SYSMENU));

	win1.Paint();
	win2.Paint();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1441972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441972</guid><dc:creator><![CDATA[julchen81]]></dc:creator><pubDate>Wed, 23 Jan 2008 13:07:32 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 13:23:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a></p>
<p>oh mein Gott, ich blindes Huhn... du hattest Recht, es wird mir keine 3 sondern eine 1 ausgegeben.</p>
<p>Hab nämlich meine und die Musterlösung nebenher angesehen, und in DER wird eine 3 ausgegeben (die ist natürlich ein bisschen anders als meine Lösung, daher passt das da auch!</p>
<p>@SlimJim<br />
danke dir auch... macht mich etwas skeptisch, deine Idee, denn was passiert bei 3|1 ? Da stimmt das dann nämlich nicht mehr so ganz... die binäre Addition ergibt dann nämlich einen Übertrag - oder versteh ich da jetzt was falsch?</p>
<p>grüßle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441981</guid><dc:creator><![CDATA[julchen81]]></dc:creator><pubDate>Wed, 23 Jan 2008 13:23:05 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 13:33:46 GMT]]></title><description><![CDATA[<p>julchen81 schrieb:</p>
<blockquote>
<p>...die binäre Addition ergibt dann nämlich einen Übertrag - oder versteh ich da jetzt was falsch?</p>
</blockquote>
<p>Vergiß den Begriff binäre Addition.</p>
<p>3|1 ist weiterhin ein binäres oder, und ergibt daher weiterhin 3 - Keine binäre Addition.</p>
<p>3: 11<br />
1: 01<br />
binäres oder: 11 | 01 = 11</p>
<p>cu Andé</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441993</guid><dc:creator><![CDATA[Anmerkung]]></dc:creator><pubDate>Wed, 23 Jan 2008 13:33:46 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 13:35:33 GMT]]></title><description><![CDATA[<p>Und jetzt doch noch mal:</p>
<p>wenn ich CLOSEBOX|MINBOX übergebe, ergibt sich der Wert &quot;3&quot;, was aber dann nicht durch binäre Addition zu erklären ist:<br />
1 1<br />
+ 0 1<br />
------<br />
1 0 0 , also 4.</p>
<p>Allerdings mit der oder-Verknüpfung von Slim Jim ergibt sich 1 1, also 3, was auch mein Programm ausgibt.</p>
<p>Wie's scheint hatte doch Slim Jim die richtige Idee oder ich übersehe wieder was?? <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>
<p>ciao...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441994</guid><dc:creator><![CDATA[julchen81]]></dc:creator><pubDate>Wed, 23 Jan 2008 13:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 13:43:13 GMT]]></title><description><![CDATA[<p>julchen81 schrieb:</p>
<blockquote>
<p>Und jetzt doch noch mal:...</p>
<p>Wie's scheint hatte doch Slim Jim die richtige Idee oder ich übersehe wieder was?? <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>
</blockquote>
<p>Wie schon angemerkt sind die Operatoren | und &amp; ein Bitweiser Vergleich (im Gegensatz zu || und &amp;&amp; die einen ganzheitlichen Vergleich machen).</p>
<p>Am Beispiel:<br />
0011<br />
| 0101<br />
------<br />
0111<br />
(Überall wo mindestens ein Bit gesetzt ist, ist es anschließend auch gesetzt)</p>
<p>0011<br />
&amp; 0101<br />
------<br />
0001<br />
(Überall wo beide Bits gesetzt sind, ist es anschließend auch gesetzt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442001</guid><dc:creator><![CDATA[Anmerkung]]></dc:creator><pubDate>Wed, 23 Jan 2008 13:43:13 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 13:43:34 GMT]]></title><description><![CDATA[<p>julchen81 schrieb:</p>
<blockquote>
<p>Wie's scheint hatte doch Slim Jim die richtige Idee oder ich übersehe wieder was?? <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>
</blockquote>
<p>Ja, du übersiehst, daß du hier der/die einzige warst, der den Begriff &quot;binäre <em>Addition</em>&quot; verwendet hat - das ist keine Addition, sondern eine sog. &quot;Disjunktion&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442003</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 23 Jan 2008 13:43:34 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 13:56:27 GMT]]></title><description><![CDATA[<p>0 | 0 bleibt 0<br />
0 | 1 wird 1<br />
1 | 0 wird 1<br />
1 | 1 <strong>bleibt</strong> 1 (es gibt keinen Übertrag)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442011</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 23 Jan 2008 13:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to enum on Wed, 23 Jan 2008 14:08:38 GMT]]></title><description><![CDATA[<p>ok, jetzt hab ich's wirklich.</p>
<p>Keine Ahnung, wo sich mein Köpfchen wieder dieses Wort &quot;Addition&quot; hergezaubert hat, stand tatsächlich nicht da. Wird Zeit, dass Feierabend kommt *ggg*</p>
<p>Euch allen noch einen schönen Tag !!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442020</guid><dc:creator><![CDATA[julchen81]]></dc:creator><pubDate>Wed, 23 Jan 2008 14:08:38 GMT</pubDate></item></channel></rss>