<?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[Array aus abstraktem Datentyp]]></title><description><![CDATA[<p>Hey,<br />
Erste Frage: Geht das überhaupt oder muss ich mit Vector arbeiten? Ich habs ausprobiert und es kam zumindest mal keine Fehlermeldung.</p>
<p>Folgendes Problem: Ich muss für die Uni das Spiel Mastermind in C++ programmieren. Dabei sollte ich eine Klasse Einzelfeld zum setzen der einzelnen Felder einer Reihe und eine Klasse Reihe programmieren. Beide haben die Eigenschaften bool sichtbar. Mit einer Methode in der klasse Reihe soll die Sichtbarkeit der einzelnen Felder gesetzt werden.</p>
<p>Das sieht bei mir so aus:</p>
<pre><code class="language-cpp">class Reihe {

private:
EinzelFeld Feld[4];
bool sichtbar;

...

public:
void setSichtbar(bool newSichtbar) {sichtbar=newSichtbar;					Feld[0].setSichtbar(newSichtbar);
	Feld[1].setSichtbar(newSichtbar);
	Feld[2].setSichtbar(newSichtbar);
	Feld[3].setSichtbar(newSichtbar);}

}
</code></pre>
<p>Wenn ich nun im Hauptprogramm die Sichtbarkeit setzen will, wird die Sichtbarkeit der Klasse Reihe gesetzt, und die Sichtbarkeit von Feld[0]. Die anderen bleiben auf 0.<br />
Woran kann das liegen? Muss das bald abgeben und sitz schon den halben Tag an diesem Mist fest. Ich hoffe hier kann mir jemand helfen.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186810/array-aus-abstraktem-datentyp</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 14:37:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186810.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Jul 2007 15:07:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array aus abstraktem Datentyp on Thu, 12 Jul 2007 15:07:56 GMT]]></title><description><![CDATA[<p>Hey,<br />
Erste Frage: Geht das überhaupt oder muss ich mit Vector arbeiten? Ich habs ausprobiert und es kam zumindest mal keine Fehlermeldung.</p>
<p>Folgendes Problem: Ich muss für die Uni das Spiel Mastermind in C++ programmieren. Dabei sollte ich eine Klasse Einzelfeld zum setzen der einzelnen Felder einer Reihe und eine Klasse Reihe programmieren. Beide haben die Eigenschaften bool sichtbar. Mit einer Methode in der klasse Reihe soll die Sichtbarkeit der einzelnen Felder gesetzt werden.</p>
<p>Das sieht bei mir so aus:</p>
<pre><code class="language-cpp">class Reihe {

private:
EinzelFeld Feld[4];
bool sichtbar;

...

public:
void setSichtbar(bool newSichtbar) {sichtbar=newSichtbar;					Feld[0].setSichtbar(newSichtbar);
	Feld[1].setSichtbar(newSichtbar);
	Feld[2].setSichtbar(newSichtbar);
	Feld[3].setSichtbar(newSichtbar);}

}
</code></pre>
<p>Wenn ich nun im Hauptprogramm die Sichtbarkeit setzen will, wird die Sichtbarkeit der Klasse Reihe gesetzt, und die Sichtbarkeit von Feld[0]. Die anderen bleiben auf 0.<br />
Woran kann das liegen? Muss das bald abgeben und sitz schon den halben Tag an diesem Mist fest. Ich hoffe hier kann mir jemand helfen.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1323981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1323981</guid><dc:creator><![CDATA[Anfänger2]]></dc:creator><pubDate>Thu, 12 Jul 2007 15:07:56 GMT</pubDate></item><item><title><![CDATA[Reply to Array aus abstraktem Datentyp on Thu, 12 Jul 2007 19:44:48 GMT]]></title><description><![CDATA[<p>also ist vieleicht etwas spät, aber irgendwie ist auch nicht ganz klar, was du willst. Tipp, nutz ein debugger und formatiere richtig. Und warum musst du für jedes EinzelFeld in dem array die sichtbarkeit einzeln setzten, und zusätzlich nochmal global, das macht eigentlich kaum Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324132</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Thu, 12 Jul 2007 19:44:48 GMT</pubDate></item><item><title><![CDATA[Reply to Array aus abstraktem Datentyp on Thu, 12 Jul 2007 20:13:01 GMT]]></title><description><![CDATA[<p>Sorry wenn ich mich nicht ordentlich ausgedrückt habe, aber ich hab seither kaum Erfahrung im Programmieren, deshalb fehlen mir einfach die richtigen Begriffe.</p>
<p>Ich weiß das es wenig Sinn macht, aber mein Prof will das so haben, warum auch immer. Ich habe auch schon einen debugger benutzt, und da hab ich dann auch gesehen das nur das erste Feld Sichtbar gesetzt wird, und obwohl ich die gleiche Methode aufrufe die anderen nicht gesetzt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324146</guid><dc:creator><![CDATA[Anfänger2]]></dc:creator><pubDate>Thu, 12 Jul 2007 20:13:01 GMT</pubDate></item><item><title><![CDATA[Reply to Array aus abstraktem Datentyp on Fri, 13 Jul 2007 04:54:17 GMT]]></title><description><![CDATA[<p>WEnn die Objekt in Feld auch richtig angelegt wurden, kann ich mit beim schneller überlfiegen nur damit erklären:</p>
<p>wie sieht die funktion aus?:</p>
<p>so: (Call by Val)</p>
<pre><code class="language-cpp">void Einzelfeld::SetSichbar(bool X){

}
</code></pre>
<p>oder so: (Call by Ref)</p>
<pre><code class="language-cpp">void Einzelfeld::SetSichbar(bool &amp;X){

}
</code></pre>
<p>Wenn sie (Call By Ref) deklariert ist, kann sein das in der ufnktion X verändert wird, was sich natürlich nach ausern auswirkt. d.h. nach dem ersten aufruf Feld[0].SetSichtbar(NewSichbar); kann es sein das die methode den parameter auf 0 setzt , und somit ist wird der parameter NewSichbar nach ausen auch 0.. sind von (Call By Ref), und somit sind dann die nächsten aufrufe alle mit 0 ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324253</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 13 Jul 2007 04:54:17 GMT</pubDate></item><item><title><![CDATA[Reply to Array aus abstraktem Datentyp on Fri, 13 Jul 2007 16:56:21 GMT]]></title><description><![CDATA[<p>Die Funktion sieht so aus:</p>
<pre><code class="language-cpp">void setSichtbar(bool newSichtbar) {sichtbar=newSichtbar;}
</code></pre>
<p>Also keine Übergabe per Referenz. Was ich jetzt noch bemerkt habe, die Sichtbarkeit wird schon bei der Definition der Klasse falsch gesetzt. Der Standardkonstruktor von Einzelfeld sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">EinzelFeld() {farbe=0;
	sichtbar=1;}
</code></pre>
<p>Also sollte beim Anlegen einer Variablen vom Typ Einzelfeld die sichtbarkeit gesetzt sein. In der Klasse Reihe wird ein Array aus 4 Einzelfeldern angelegt, also sollte auch dort die Sichtbarkeit gesetzt sein, was jedoch nicht der Fall ist. Woran könnte das liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324830</guid><dc:creator><![CDATA[Anfänger2]]></dc:creator><pubDate>Fri, 13 Jul 2007 16:56:21 GMT</pubDate></item><item><title><![CDATA[Reply to Array aus abstraktem Datentyp on Sat, 14 Jul 2007 08:13:05 GMT]]></title><description><![CDATA[<p>OK, jetzt kann ich das Problem nochmal genauer darstellen.</p>
<p>Wie bereits beschrieben sieht mein Standardkonstruktor für die Klasse 'EinzelFeld' folgendermaßen aus:</p>
<pre><code class="language-cpp">EinzelFeld() {farbe=0;
    sichtbar=1;}
</code></pre>
<p>Wenn ich im Hauptprogramm ein Array aus 4 EinzelFeldern erzeuge,</p>
<pre><code class="language-cpp">EinzelFeld Feld[4];
</code></pre>
<p>werden alle richtig initialisiert mit Sichtbar=1.<br />
Ich brauche nun aber ein Array aus 4 EinzelFeldern in einer anderen Klasse ('Reihe'). Wenn ich dort im private-Bereich den selben Ausdruck schreibe, wird bei Feld[0] die Sichtbarkeit gesetzt, und bei den anderen nicht. Das gleiche Problem habe ich auch später im Programm nochmal mit einem Vector. Das will ich jetzt aber erstmal nicht schildern, da es vermutlich die gleiche Ursache hat. Woran kann das nun liegen?<br />
Danke schonmal für eure Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325131</guid><dc:creator><![CDATA[Anfänger2]]></dc:creator><pubDate>Sat, 14 Jul 2007 08:13:05 GMT</pubDate></item></channel></rss>