<?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[Class Deklaration]]></title><description><![CDATA[<p>wenn ich in einer Datei definiere</p>
<pre><code>class foo
{

}
</code></pre>
<p>dann speichere unter foo.hxx<br />
implementiere die entsprechende foo.cpp<br />
manchmal in main.cpp muss man includieren</p>
<pre><code>#include &quot;foo.h&quot;
</code></pre>
<p>manchmal aber nur</p>
<pre><code>class foo;
</code></pre>
<p>was ist der Unterschied?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/135372/class-deklaration</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 23:18:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/135372.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Feb 2006 16:14:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Class Deklaration on Wed, 01 Feb 2006 16:14:57 GMT]]></title><description><![CDATA[<p>wenn ich in einer Datei definiere</p>
<pre><code>class foo
{

}
</code></pre>
<p>dann speichere unter foo.hxx<br />
implementiere die entsprechende foo.cpp<br />
manchmal in main.cpp muss man includieren</p>
<pre><code>#include &quot;foo.h&quot;
</code></pre>
<p>manchmal aber nur</p>
<pre><code>class foo;
</code></pre>
<p>was ist der Unterschied?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983220</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Wed, 01 Feb 2006 16:14:57 GMT</pubDate></item><item><title><![CDATA[Reply to Class Deklaration on Wed, 01 Feb 2006 16:45:57 GMT]]></title><description><![CDATA[<p>Der Unterschied ist dass das zweite ohne das erste nicht funktioniert :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983276</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 01 Feb 2006 16:45:57 GMT</pubDate></item><item><title><![CDATA[Reply to Class Deklaration on Wed, 01 Feb 2006 16:59:43 GMT]]></title><description><![CDATA[<p>google mal nach forward declaration</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983294</guid><dc:creator><![CDATA[daHa]]></dc:creator><pubDate>Wed, 01 Feb 2006 16:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to Class Deklaration on Thu, 02 Feb 2006 07:10:33 GMT]]></title><description><![CDATA[<p>ich nehme mal an, was</p>
<pre><code class="language-cpp">#include &lt;foo.h&gt;
</code></pre>
<p>bedeutet ist klar.</p>
<pre><code class="language-cpp">class foo;
</code></pre>
<p>ist, wie schon gesagt, eine forward-deklaration. sie teilt dem compiler mit, daß foo ein klassenname ist, ohne dem compiler jedoch etwas über den inhalt zu verraten. man kann dann zeiger oder referenzen auf foo deklarieren. sowas ist nützlich, wenn man zwei strukturen oder klassen hat, die gegenseitig zeiger aufeinander enthalten</p>
<p>wenn du</p>
<pre><code class="language-cpp">class foo
{
  bar *x;
};

class bar
{
  foo *x;
};
</code></pre>
<p>kompilierst, dann gibt es einen fehler, weil der compiler bar *x nicht versteht. bar wird ja erst hinterher deklariert. und wenn du die reihenfolge der deklarationen von foo und bar vertauscht, dann hast du das selbe problem wieder, nur mit foo *x.</p>
<p>die lösung des problems ist</p>
<pre><code class="language-cpp">class bar; // forward-deklaration von bar

class foo
{
  bar *x; // jetzt kennt der compiler bar
};

class bar
{
  foo *x; // und foo sowieso
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/983636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983636</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Thu, 02 Feb 2006 07:10:33 GMT</pubDate></item><item><title><![CDATA[Reply to Class Deklaration on Thu, 02 Feb 2006 08:59:28 GMT]]></title><description><![CDATA[<p>Konfusius schrieb:</p>
<blockquote>
<p>sowas ist nützlich, wenn man zwei strukturen oder klassen hat, die gegenseitig zeiger aufeinander enthalten</p>
</blockquote>
<p>kann man in headern eigentlich immer verwenden wenn der include nicht nötig ist. das spart bei großen projekten compilezeit, die header kann man dann den implementatinsdateien includen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/983694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/983694</guid><dc:creator><![CDATA[rapso]]></dc:creator><pubDate>Thu, 02 Feb 2006 08:59:28 GMT</pubDate></item></channel></rss>