<?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[Anfängerfrage zu Klassendeklarationen]]></title><description><![CDATA[<p>Hi,</p>
<p>2 verschiedene Klassen, jede enthält als Member einen Pointer auf die<br />
andere Klasse. Wie deklariert man sowas, weil folgendes Mini-Prog kann nicht<br />
mit g++ compiliert werden wegen<br />
&quot;ISO C++ forbids declaration of ‘B’ with no type&quot;.</p>
<pre><code>using namespace std;

class A {
    B * p;
};

class B {
    A * p;
};

int main(void) {}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/259947/anfängerfrage-zu-klassendeklarationen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 16:26:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259947.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 29 Jan 2010 19:58:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage zu Klassendeklarationen on Fri, 29 Jan 2010 19:58:14 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>2 verschiedene Klassen, jede enthält als Member einen Pointer auf die<br />
andere Klasse. Wie deklariert man sowas, weil folgendes Mini-Prog kann nicht<br />
mit g++ compiliert werden wegen<br />
&quot;ISO C++ forbids declaration of ‘B’ with no type&quot;.</p>
<pre><code>using namespace std;

class A {
    B * p;
};

class B {
    A * p;
};

int main(void) {}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1847212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847212</guid><dc:creator><![CDATA[tomax]]></dc:creator><pubDate>Fri, 29 Jan 2010 19:58:14 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu Klassendeklarationen on Fri, 29 Jan 2010 20:01:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class A
{
  class B* p;
};

class B
{
  A* p;
};

int main()
{}
</code></pre>
<p>bb</p>
<p>edit: das nennt man &quot;forward declaration&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1847214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847214</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 29 Jan 2010 20:01:04 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu Klassendeklarationen on Fri, 29 Jan 2010 20:05:48 GMT]]></title><description><![CDATA[<p>das ging ja schnell, dankeschön <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/1847216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847216</guid><dc:creator><![CDATA[tomax]]></dc:creator><pubDate>Fri, 29 Jan 2010 20:05:48 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu Klassendeklarationen on Fri, 29 Jan 2010 22:08:36 GMT]]></title><description><![CDATA[<p>Du kannst die Klasse auch ausserhalb vorwärts-deklarieren:</p>
<pre><code class="language-cpp">class B;

class A
{
    B* p;
};
</code></pre>
<p>Finde ich noch praktisch, da man gerade am Anfang des Headers die Abhängigkeiten verschiedener Klassen sieht. Ausserdem kann man sich so einige <code>class</code> -Schlüsselwörter sparen, wenn die Klasse in verschiedenen Scopes benötigt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1847271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847271</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 29 Jan 2010 22:08:36 GMT</pubDate></item></channel></rss>