<?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[Probleme bei Objekten innerhalb einer Klasse]]></title><description><![CDATA[<p>Hallo Community,</p>
<p>ich habe mich einmal dran gesetzt, das Spiel Wumpus auf objektorientierte Weise zu programmieren und dabei hat mir mein Quellcode einen Strich durch die Rechnung gemacht. Habe einige Zeit versucht den Fehler zu beheben, aber ich kann mir einfach nicht erklären, warum dieser Fehler auftritt. ( Er nimmt die Objekte in ... Klasse nicht an. )</p>
<p>Hier meine Header-Dateien ( Falls mehr benötigt wird, bitte benachrichtigen ):</p>
<p>Hole.hpp</p>
<pre><code>#ifndef HOLE_HPP
#define HOLE_HPP

#include &quot;Player.hpp&quot;
#include &quot;Wumpus.hpp&quot;
#include &quot;Coin.hpp&quot;

using namespace std;

class CHole
{
private:
	int x;
	int y;
	char HoleChar;
	CPlayer Player;
        CWumpus Wumpus;
        CCoin Coin;
public:
	CHole();
	void Set();
	int GetX();
	int GetY();
	char GetHoleChar();
	void CheckOverlays();
};

#endif
</code></pre>
<p>Wumpus.hpp</p>
<pre><code>#ifndef WUMPUS_HPP
#define WUMPUS_HPP

#include &quot;Player.hpp&quot;
#include &quot;Hole.hpp&quot;
#include &quot;Coin.hpp&quot;

using namespace std;

class CWumpus
{
private:
	int x;
	int y;
	char WumpusChar;
	CPlayer Player;
	CHole Hole;
	CCoin Coin;
public:
	CWumpus();
	void Move();
	void SetWumpus();
	int GetX();
	int GetY();
	char GetWumpusChar();
	void CheckOverlays();
};

#endif
</code></pre>
<p>Player.hpp</p>
<pre><code>#ifndef PLAYER_HPP
#define PLAYER_HPP

#include &quot;Hole.hpp&quot;
#include &quot;Wumpus.hpp&quot;
#include &quot;Coin.hpp&quot;

using namespace std;

class CPlayer
{
private:
	int x;
	int y;
	char PlayerChar;
	bool SameNumber;
	CHole Hole;
	CWumpus Wumpus;
	CCoin Coin;
public:
	CPlayer();
	void Shoot();
	void Move();
	void Set();
	int GetX();
	int GetY();
	char GetPlayerChar();
	void CheckOverlays();
};

#endif
</code></pre>
<p>Coin.hpp</p>
<pre><code>#ifndef COIN_HPP
#define COIN_HPP

#include &quot;Player.hpp&quot;
#include &quot;Hole.hpp&quot;
#include &quot;Wumpus.hpp&quot;

using namespace std;

class CCoin
{
private:
	int x;
	int y;
	char CoinChar;
	CPlayer Player;
	CHole Hole;
	CWumpus Wumpus;
public:
	CCoin();
	void Set();
	int GetX();
	int GetY();
	void GetCoinChar();
	void CheckOverlays();
};

#endif
</code></pre>
<p>Als Fehlermeldung bekomme ich z.B. so etwas:</p>
<pre><code>1&gt;  Coin.cpp
1&gt;d:\c++ projekte\wumpus_oop\wumpus_oop\wumpus.hpp(16): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Player'
1&gt;d:\c++ projekte\wumpus_oop\wumpus_oop\wumpus.hpp(16): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.
1&gt;d:\c++ projekte\wumpus_oop\wumpus_oop\wumpus.hpp(16): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/320258/probleme-bei-objekten-innerhalb-einer-klasse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 05:54:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320258.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Sep 2013 19:19:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bei Objekten innerhalb einer Klasse on Sat, 21 Sep 2013 19:29:04 GMT]]></title><description><![CDATA[<p>Hallo Community,</p>
<p>ich habe mich einmal dran gesetzt, das Spiel Wumpus auf objektorientierte Weise zu programmieren und dabei hat mir mein Quellcode einen Strich durch die Rechnung gemacht. Habe einige Zeit versucht den Fehler zu beheben, aber ich kann mir einfach nicht erklären, warum dieser Fehler auftritt. ( Er nimmt die Objekte in ... Klasse nicht an. )</p>
<p>Hier meine Header-Dateien ( Falls mehr benötigt wird, bitte benachrichtigen ):</p>
<p>Hole.hpp</p>
<pre><code>#ifndef HOLE_HPP
#define HOLE_HPP

#include &quot;Player.hpp&quot;
#include &quot;Wumpus.hpp&quot;
#include &quot;Coin.hpp&quot;

using namespace std;

class CHole
{
private:
	int x;
	int y;
	char HoleChar;
	CPlayer Player;
        CWumpus Wumpus;
        CCoin Coin;
public:
	CHole();
	void Set();
	int GetX();
	int GetY();
	char GetHoleChar();
	void CheckOverlays();
};

#endif
</code></pre>
<p>Wumpus.hpp</p>
<pre><code>#ifndef WUMPUS_HPP
#define WUMPUS_HPP

#include &quot;Player.hpp&quot;
#include &quot;Hole.hpp&quot;
#include &quot;Coin.hpp&quot;

using namespace std;

class CWumpus
{
private:
	int x;
	int y;
	char WumpusChar;
	CPlayer Player;
	CHole Hole;
	CCoin Coin;
public:
	CWumpus();
	void Move();
	void SetWumpus();
	int GetX();
	int GetY();
	char GetWumpusChar();
	void CheckOverlays();
};

#endif
</code></pre>
<p>Player.hpp</p>
<pre><code>#ifndef PLAYER_HPP
#define PLAYER_HPP

#include &quot;Hole.hpp&quot;
#include &quot;Wumpus.hpp&quot;
#include &quot;Coin.hpp&quot;

using namespace std;

class CPlayer
{
private:
	int x;
	int y;
	char PlayerChar;
	bool SameNumber;
	CHole Hole;
	CWumpus Wumpus;
	CCoin Coin;
public:
	CPlayer();
	void Shoot();
	void Move();
	void Set();
	int GetX();
	int GetY();
	char GetPlayerChar();
	void CheckOverlays();
};

#endif
</code></pre>
<p>Coin.hpp</p>
<pre><code>#ifndef COIN_HPP
#define COIN_HPP

#include &quot;Player.hpp&quot;
#include &quot;Hole.hpp&quot;
#include &quot;Wumpus.hpp&quot;

using namespace std;

class CCoin
{
private:
	int x;
	int y;
	char CoinChar;
	CPlayer Player;
	CHole Hole;
	CWumpus Wumpus;
public:
	CCoin();
	void Set();
	int GetX();
	int GetY();
	void GetCoinChar();
	void CheckOverlays();
};

#endif
</code></pre>
<p>Als Fehlermeldung bekomme ich z.B. so etwas:</p>
<pre><code>1&gt;  Coin.cpp
1&gt;d:\c++ projekte\wumpus_oop\wumpus_oop\wumpus.hpp(16): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Player'
1&gt;d:\c++ projekte\wumpus_oop\wumpus_oop\wumpus.hpp(16): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.
1&gt;d:\c++ projekte\wumpus_oop\wumpus_oop\wumpus.hpp(16): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2354498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354498</guid><dc:creator><![CDATA[Teizakk]]></dc:creator><pubDate>Sat, 21 Sep 2013 19:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Objekten innerhalb einer Klasse on Sat, 21 Sep 2013 19:34:56 GMT]]></title><description><![CDATA[<p>Wumpus.hpp included Hole.hpp und Hole.hpp included Wumpus.hpp -&gt; Fehler (bzw. der Include Guard führt dazu, dass Hole.hpp ein leeres Wumpus.hpp included)</p>
<p><a href="http://stackoverflow.com/questions/4816698/avoiding-circular-dependencies-of-header-files" rel="nofollow">http://stackoverflow.com/questions/4816698/avoiding-circular-dependencies-of-header-files</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2354500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354500</guid><dc:creator><![CDATA[strichwort]]></dc:creator><pubDate>Sat, 21 Sep 2013 19:34:56 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Objekten innerhalb einer Klasse on Sat, 21 Sep 2013 19:46:32 GMT]]></title><description><![CDATA[<p>strichwort schrieb:</p>
<blockquote>
<p>Wumpus.hpp included Hole.hpp und Hole.hpp included Wumpus.hpp -&gt; Fehler (bzw. der Include Guard führt dazu, dass Hole.hpp ein leeres Wumpus.hpp included)</p>
</blockquote>
<p>Auf Deutsch: Zwei Header können sich nicht gegenseitig einbinden, das führt zu einer sog. zyklischen Abhängigkeit. Es macht auch keinen Sinn - wie soll der Quelltext nach dem Präprozessor-Durchlauf aussehen?</p>
<p>Anders gesagt: Zwei Klassen können sich nicht gegenseitig &quot;kennen&quot;. Nur die Methoden der Klassen können beide Klassen kennen, wenn man ihre Definition auslagert. In der Source bindet man einfach beide Header ein und nutzt die Klassen wie gewohnt; Im Header nutzt man die Vorwärtsdeklarationen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2354502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354502</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 21 Sep 2013 19:46:32 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Objekten innerhalb einer Klasse on Sat, 21 Sep 2013 21:11:45 GMT]]></title><description><![CDATA[<p>Ein riesiges Dankeschön an euch.</p>
<p>Funktioniert jetzt <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/2354503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354503</guid><dc:creator><![CDATA[Teizakk]]></dc:creator><pubDate>Sat, 21 Sep 2013 21:11:45 GMT</pubDate></item></channel></rss>