<?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[Problem mit Klassen(rechte?)]]></title><description><![CDATA[<p>Habe folgenden Klassen<br />
<em>class CPlayer</em><br />
Inhalt egal</p>
<p><em>class CBase</em><br />
private:<br />
- CPlayer* player[6]<br />
- int current_player<br />
public:<br />
- CPlayer* cur_player() --&gt; liefert eben den entsprechenden Pointer</p>
<p><em>class CCycle</em><br />
Hier will ich jetzt auf die Methode <strong>cur_player</strong> zugreifen.<br />
Obwohl es ja eigentlich noch keine Instanz der CBase gibt. Eine Instanz wird noch erzeugt, aber wie kann ich auf diese im Prinzip schon im Vorraus zugreifen?</p>
<p>Hoffe mein Problem ist klar geschildert. Steh gerade voll auf dem Schlauch und komme nicht weiter...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219210/problem-mit-klassen-rechte</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 08:53:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219210.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 Jul 2008 19:32:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Wed, 30 Jul 2008 19:32:37 GMT]]></title><description><![CDATA[<p>Habe folgenden Klassen<br />
<em>class CPlayer</em><br />
Inhalt egal</p>
<p><em>class CBase</em><br />
private:<br />
- CPlayer* player[6]<br />
- int current_player<br />
public:<br />
- CPlayer* cur_player() --&gt; liefert eben den entsprechenden Pointer</p>
<p><em>class CCycle</em><br />
Hier will ich jetzt auf die Methode <strong>cur_player</strong> zugreifen.<br />
Obwohl es ja eigentlich noch keine Instanz der CBase gibt. Eine Instanz wird noch erzeugt, aber wie kann ich auf diese im Prinzip schon im Vorraus zugreifen?</p>
<p>Hoffe mein Problem ist klar geschildert. Steh gerade voll auf dem Schlauch und komme nicht weiter...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556625</guid><dc:creator><![CDATA[ice]]></dc:creator><pubDate>Wed, 30 Jul 2008 19:32:37 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Wed, 30 Jul 2008 19:48:39 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">static CurPlayer* cur_player();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1556635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556635</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Wed, 30 Jul 2008 19:48:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Wed, 30 Jul 2008 19:48:36 GMT]]></title><description><![CDATA[<blockquote>
<p>Hoffe mein Problem ist klar geschildert.</p>
</blockquote>
<p>Nein ist es nicht.</p>
<p>Bring doch bitte relevanten Code. Kann auch Beispiel Code sein, aber bitte so realitätsnahe, wie möglich.</p>
<p>CCycle leitet von CBase ab, oder enthält es eine Instanz?</p>
<p>Und man schreibt voraus und nicht vor_raus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556637</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 30 Jul 2008 19:48:36 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Wed, 30 Jul 2008 19:50:28 GMT]]></title><description><![CDATA[<p>ice schrieb:</p>
<blockquote>
<p>Eine Instanz wird noch erzeugt, aber wie kann ich auf diese im Prinzip schon im v****** zugreifen?</p>
</blockquote>
<p>Gar nicht. Wie willst du auf etwas zugreifen, das noch nicht existiert? Der Compiler kann nicht in die Zukunft schauen <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>Wenn die Methode von den Instanzen unabhängig ist, nimm wie gesagt <code>static</code> . Ansonsten hast du einen Designfehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556639</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 30 Jul 2008 19:50:28 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Wed, 30 Jul 2008 20:44:47 GMT]]></title><description><![CDATA[<p>Ja, vielleicht ein Design- bzw. Denkfehler.</p>
<p>Es gibt während der Laufzeit immer nur eine Instanz von Base.<br />
In der Instanz gibt es die 6 Pointer. Jeder zeigt auf einen Spieler.<br />
Und ein Int speichert den Index des Spieler, der an der Reihe ist.</p>
<p>Nun will ich in anderen Klassen auf den Pointer des aktuellen Spielers zugreifen.</p>
<p>(Wie) Kann ich das realisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556680</guid><dc:creator><![CDATA[ice]]></dc:creator><pubDate>Wed, 30 Jul 2008 20:44:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Wed, 30 Jul 2008 20:54:42 GMT]]></title><description><![CDATA[<p>Setz den Pointer doch bei der Initialisierung auf <code>NULL</code> . Sobald du einen zugehörigen Spieler erstellt hast, kannst du mit <code>new</code> Speicher dafür reservieren.</p>
<p>Für die 6 Spieler kannst du ein Array anlegen, und den Index nach jedem Zug erhöhen. Per Modulo überprüfst du, ob der letzte bereits dran war, und gehst wieder zum ersten.</p>
<p>Aber wieso meinst du, sollte man auf die noch nicht erstellten Instanzen im Voraus zugreifen können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556686</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 30 Jul 2008 20:54:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Wed, 30 Jul 2008 21:06:47 GMT]]></title><description><![CDATA[<p>Es gibt ja nur eine Instanz und auf diese will ich eben zugreifen.<br />
Deine Ideen sind ja klar, ist soweit auch verwirklicht. Das erklärt leider nicht meine Frage.</p>
<p>Ich will in anderen Klassen z.B.<br />
<code>base_inst-&gt;cur_player-&gt;set_money(200);</code><br />
aufrufen.<br />
Ich will halt mit der Methode cur_player in anderen Klassen arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556693</guid><dc:creator><![CDATA[ice]]></dc:creator><pubDate>Wed, 30 Jul 2008 21:06:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Thu, 31 Jul 2008 08:01:09 GMT]]></title><description><![CDATA[<p>So in etwa vielleicht?</p>
<pre><code class="language-cpp">class CPlayer
{
public:
    CPlayer();
    void setVal(int val);
    int getVal();
    //...
private:
    //...
};

//irgendwo im globalen scope
CPlayer&amp; getPlayerInstance()
{
    static CPlayer player;
    return player;
}

//irgendwo anders

void SomeClass::someFunctNeedsPlayers()
{
    getPlayerInstance().setVal(42);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1556808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556808</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 31 Jul 2008 08:01:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Thu, 31 Jul 2008 07:56:24 GMT]]></title><description><![CDATA[<p>ice schrieb:</p>
<blockquote>
<p>Es gibt ja nur eine Instanz und auf diese will ich eben zugreifen.<br />
Deine Ideen sind ja klar, ist soweit auch verwirklicht. Das erklärt leider nicht meine Frage.</p>
</blockquote>
<p>Vorher hast du noch gesagt, du willst drauf zugreifen <em>bevor</em> es die eine Instanz überhaupt gibt. Musst dich entscheiden:</p>
<p>- mach alle Attribute und methoden statisch, dann kannst du darauf zugreifen ohne jemals eine Instanz erzeugen zu müssen<br />
- oder implementiere die Klasse als Singleton (google nach wenn dir das nichts sagt), bei dem die einzige instanz erstellt wird sobald der erste Zugriff kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556812</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 31 Jul 2008 07:56:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Thu, 31 Jul 2008 08:09:08 GMT]]></title><description><![CDATA[<p>Außerdem ist es doch kein Problem mal fix ne Klasse zu basteln die im Prinzip leer ist und von einer anderen abgeleitet ist. Das is ne Sache von 5min...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556821</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Thu, 31 Jul 2008 08:09:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Thu, 31 Jul 2008 11:27:57 GMT]]></title><description><![CDATA[<p>It0101 schrieb:</p>
<blockquote>
<p>Außerdem ist es doch kein Problem mal fix ne Klasse zu basteln die im Prinzip leer ist und von einer anderen abgeleitet ist. Das is ne Sache von 5min...</p>
</blockquote>
<p>Ich verstehe leider nicht, was du damit sagen willst.</p>
<p>Und die mit dem alles als static deklarieren würde schon funktionieren, ist das aber dann wirklich eine &quot;schöne&quot; Lösung?<br />
Das ganze wird später benotet...</p>
<p>Das Singelton schau ich mir mal an.</p>
<p>Wobei die Lösung von Tachyon ja eig ganz gut aussieht.<br />
Kann ich dann in anderen Klassen die Variable &quot;player&quot; auch verändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556972</guid><dc:creator><![CDATA[ice]]></dc:creator><pubDate>Thu, 31 Jul 2008 11:27:57 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klassen(rechte?) on Thu, 31 Jul 2008 11:45:04 GMT]]></title><description><![CDATA[<p>ice schrieb:</p>
<blockquote>
<p>Kann ich dann in anderen Klassen die Variable &quot;player&quot; auch verändern?</p>
</blockquote>
<p>Ja, du müsstest sie dann aber als Referenz und nicht als Kopie zurückgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556979</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 31 Jul 2008 11:45:04 GMT</pubDate></item></channel></rss>