<?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[Zugriff auf Variable einer Basis-Klasse?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem mit dem Zugriff auf einer Variablen in der Basisklasse.</p>
<p><strong>Basisklasse.h:</strong></p>
<pre><code>class Basisklasse
{
protected:

typedef enum {Up, Down, Right, Left}TDirection;
TDirection direction;
[...]

public:

Basisklasse(int x, int y, int z);
[...und ein paar weitere Methoden]
};
</code></pre>
<p>In dieser Basis-Klasse wird <strong>direction</strong> für ein switch-case verwendet.</p>
<p><strong>Unterklasse.h:</strong></p>
<pre><code>class Unterklasse : public Basisklasse
{
public:

Unterklasse(int x, int y, int z);
[...]

};
</code></pre>
<p>Jetzt möchte ich in der Unterklasse direction ändern<br />
<strong>Unterklasse.cpp:</strong></p>
<pre><code>Unterklasse::Basisklasse_P1(int x, int y, int z)
:Basisklasse(x, y, z)
{
}

void chg_direction()
{
[...]
if (direction != Down)
{
direction = Up;
break;
}
[...]
}
</code></pre>
<p>Allerdings kommt dann immer der Error:<br />
error C2065: 'direction': nichtdeklarierter Bezeichner<br />
Ebenso für Down, Up, usw...</p>
<p>Funktioniert so ein Zugriff allgemein nicht oder mache ich irgendwas falsch? *.h Dateien sind eigentlich alle eingefügt.</p>
<p>Schonmal vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/273373/zugriff-auf-variable-einer-basis-klasse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 05:12:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273373.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Sep 2010 09:04:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriff auf Variable einer Basis-Klasse? on Mon, 06 Sep 2010 09:04:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem mit dem Zugriff auf einer Variablen in der Basisklasse.</p>
<p><strong>Basisklasse.h:</strong></p>
<pre><code>class Basisklasse
{
protected:

typedef enum {Up, Down, Right, Left}TDirection;
TDirection direction;
[...]

public:

Basisklasse(int x, int y, int z);
[...und ein paar weitere Methoden]
};
</code></pre>
<p>In dieser Basis-Klasse wird <strong>direction</strong> für ein switch-case verwendet.</p>
<p><strong>Unterklasse.h:</strong></p>
<pre><code>class Unterklasse : public Basisklasse
{
public:

Unterklasse(int x, int y, int z);
[...]

};
</code></pre>
<p>Jetzt möchte ich in der Unterklasse direction ändern<br />
<strong>Unterklasse.cpp:</strong></p>
<pre><code>Unterklasse::Basisklasse_P1(int x, int y, int z)
:Basisklasse(x, y, z)
{
}

void chg_direction()
{
[...]
if (direction != Down)
{
direction = Up;
break;
}
[...]
}
</code></pre>
<p>Allerdings kommt dann immer der Error:<br />
error C2065: 'direction': nichtdeklarierter Bezeichner<br />
Ebenso für Down, Up, usw...</p>
<p>Funktioniert so ein Zugriff allgemein nicht oder mache ich irgendwas falsch? *.h Dateien sind eigentlich alle eingefügt.</p>
<p>Schonmal vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1948686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1948686</guid><dc:creator><![CDATA[KaWa]]></dc:creator><pubDate>Mon, 06 Sep 2010 09:04:24 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Variable einer Basis-Klasse? on Mon, 06 Sep 2010 09:07:22 GMT]]></title><description><![CDATA[<p>chg_direction ist keine Memberfunktion. Falsch abgeschrieben? Keine Ahnung, aber eine bessere Erklärung fällt mir nicht ein, normalerweise geht sowas.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1948687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1948687</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 06 Sep 2010 09:07:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Variable einer Basis-Klasse? on Mon, 06 Sep 2010 09:12:00 GMT]]></title><description><![CDATA[<p>Oh, hab ich nicht hin geschrieben. Also in der <strong>Unterklasse.h</strong> ist <strong>void chg_direction</strong> definiert.</p>
<p>Allerdings nicht in der Basisklasse. Werd das mal versuchen. Muss man die Methode in der Basisklasse dann auf virtual setzen?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1948689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1948689</guid><dc:creator><![CDATA[KaWa]]></dc:creator><pubDate>Mon, 06 Sep 2010 09:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Variable einer Basis-Klasse? on Mon, 06 Sep 2010 09:21:58 GMT]]></title><description><![CDATA[<p>KaWa schrieb:</p>
<blockquote>
<p>Oh, hab ich nicht hin geschrieben. Also in der <strong>Unterklasse.h</strong> ist <strong>void chg_direction</strong> definiert.</p>
</blockquote>
<p>Das mag ja sein, aber das <code>chg_direction</code> was du hier hingeschrieben hast ist nicht die Memberfunktion. Dazu schreibt man bei der Definition</p>
<pre><code class="language-cpp">void Unterklasse::chg_direction()
...
</code></pre>
<p>Ohne das ' <code>Unterklasse::</code> ' wäre das eine freie Funktion, die zufällig genauso heißt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1948696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1948696</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 06 Sep 2010 09:21:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Variable einer Basis-Klasse? on Mon, 06 Sep 2010 09:23:39 GMT]]></title><description><![CDATA[<p>KaWa schrieb:</p>
<blockquote>
<p>Oh, hab ich nicht hin geschrieben. Also in der <strong>Unterklasse.h</strong> ist <strong>void chg_direction</strong> definiert.</p>
</blockquote>
<p>Nein, was Bashar meint ist, dass dein chg_direction in Unterklasse.cpp kein Member von Unterklasse ist, sondern eine freie Funktion ohne jede Verbindung zu Unterklasse. Denn du hast das Unterklasse:: vergessen. Dadurch kann chg_direction auf gar nichts von Unterklasse zugreifen, egal ob geerbt oder nicht.</p>
<blockquote>
<p>Allerdings nicht in der Basisklasse. Werd das mal versuchen. Muss man die Methode in der Basisklasse dann auf virtual setzen?</p>
</blockquote>
<p>Schreib <strong>niemals</strong> Code den du nicht selber verstehst! virtual hat rein gar nichts mit Zugriffsrechten zu tun.</p>
<p>edit: Zu langsam...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1948697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1948697</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 06 Sep 2010 09:23:39 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf Variable einer Basis-Klasse? on Mon, 06 Sep 2010 09:31:13 GMT]]></title><description><![CDATA[<p>Ihr seid echt super, genau das war´s <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Man man, da hätte ich ja echt noch lange suchen können, weil daran hab ich absolut nicht gedacht <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1948700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1948700</guid><dc:creator><![CDATA[KaWa]]></dc:creator><pubDate>Mon, 06 Sep 2010 09:31:13 GMT</pubDate></item></channel></rss>