<?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[Mehrere Klassen in einer Datei: Forward Deklaration]]></title><description><![CDATA[<p>Hi,</p>
<p>mein Professor zwingt mich leider meine C++ Aufgaben in einer Datei abzugeben. Ich habe sowas noch nicht gemacht und daher Schwierigkeiten: Klasse A ruft in Methode foo die Methode boo von B auf (A hat eine Membervariable, die ein Pointer auf ein Objekt vom Typ B ist). B ruft in Methode hoo auf die Methode goo von A auf. Meine Datei sieht etwa so aus:</p>
<pre><code class="language-cpp">class A;
class B; // ERROR: forward declaration of »struct B«

class A {
 ...
 void goo() {
  ...
 }
 void foo() {
  b-&gt;boo(); // ERROR: invalid use of undefined type »struct B«
 }
 B* b;
};

class B {
 ...
 void boo() {
  ...
 }
 void hoo() {
  a-&gt;goo();
 }
 A* a;
};
</code></pre>
<p>GCC gibt mir Fehler: &quot;invalid use of undefined type&quot; und &quot;forward declaration&quot;.</p>
<p>Was kann ich tun? Ist es überhaupt möglich das in einer Datei zu machen?<br />
Danke,<br />
Heiner</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/136417/mehrere-klassen-in-einer-datei-forward-deklaration</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 12:53:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/136417.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Feb 2006 20:49:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrere Klassen in einer Datei: Forward Deklaration on Thu, 09 Feb 2006 20:49:55 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>mein Professor zwingt mich leider meine C++ Aufgaben in einer Datei abzugeben. Ich habe sowas noch nicht gemacht und daher Schwierigkeiten: Klasse A ruft in Methode foo die Methode boo von B auf (A hat eine Membervariable, die ein Pointer auf ein Objekt vom Typ B ist). B ruft in Methode hoo auf die Methode goo von A auf. Meine Datei sieht etwa so aus:</p>
<pre><code class="language-cpp">class A;
class B; // ERROR: forward declaration of »struct B«

class A {
 ...
 void goo() {
  ...
 }
 void foo() {
  b-&gt;boo(); // ERROR: invalid use of undefined type »struct B«
 }
 B* b;
};

class B {
 ...
 void boo() {
  ...
 }
 void hoo() {
  a-&gt;goo();
 }
 A* a;
};
</code></pre>
<p>GCC gibt mir Fehler: &quot;invalid use of undefined type&quot; und &quot;forward declaration&quot;.</p>
<p>Was kann ich tun? Ist es überhaupt möglich das in einer Datei zu machen?<br />
Danke,<br />
Heiner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/990506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/990506</guid><dc:creator><![CDATA[heiner21]]></dc:creator><pubDate>Thu, 09 Feb 2006 20:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Klassen in einer Datei: Forward Deklaration on Thu, 09 Feb 2006 20:54:27 GMT]]></title><description><![CDATA[<p>Nein, das geht so auf keinen Fall...</p>
<p>Wenn die Deklarationen der Klassen in einer .h Datei und die Definitionen in einer .cpp Datei stehen dann gehts.</p>
<p>EDIT: Urgs, ist natürlich quatsch, Du kannst Definition und Deklaration auch in einer Datei trennen...</p>
<pre><code class="language-cpp">class A { 
  void foo();
};

void A::foo()
{
  b-&gt;goo();
}
</code></pre>
<p>Musst dann eben zuerst nur die Klassen A und B deklarieren und dann die methoden ausschreiben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/990510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/990510</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 09 Feb 2006 20:54:27 GMT</pubDate></item></channel></rss>