<?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[Zwei kurze Fragen]]></title><description><![CDATA[<p>Hi!</p>
<p>Zwei kurze Fragen:</p>
<p>1. Forwärtsdeklaration</p>
<pre><code>class B;

class A
{
  B *b;
};

class B
{

};
</code></pre>
<p>Muss b ein Zeiger sein?? Wenn ich b nämlich nicht als Zeiger deklariere, kommt eine Fehlermeldung.</p>
<p>2. Was hat es für einen Sinn, eine abstrakte Methode als virtuell zu deklarieren?</p>
<p>Vielen Dank im Vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/128447/zwei-kurze-fragen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 17:10:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/128447.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Dec 2005 19:24:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 19:24:19 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Zwei kurze Fragen:</p>
<p>1. Forwärtsdeklaration</p>
<pre><code>class B;

class A
{
  B *b;
};

class B
{

};
</code></pre>
<p>Muss b ein Zeiger sein?? Wenn ich b nämlich nicht als Zeiger deklariere, kommt eine Fehlermeldung.</p>
<p>2. Was hat es für einen Sinn, eine abstrakte Methode als virtuell zu deklarieren?</p>
<p>Vielen Dank im Vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933359</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Sat, 03 Dec 2005 19:24:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 19:27:37 GMT]]></title><description><![CDATA[<p>1: Wenn B *b kein Zeiger wäre (die sind auf 32 Bit Maschinen 4 Byte groß, immer), woher sollte der Compiler dann wissen, wie groß B ist?<br />
2: Methoden werden erst durch virtual abstrakt. Ohne virtual nix abstrakte Methode!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933360</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Sat, 03 Dec 2005 19:27:37 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 19:33:37 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>b muss ein zeiger sein, damit du nicht sowas machst:</p>
<pre><code>class A
{
  B b;
};
class B
{
  A a;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/933367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933367</guid><dc:creator><![CDATA[re¦cur¦si¦on]]></dc:creator><pubDate>Sat, 03 Dec 2005 19:33:37 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 19:42:33 GMT]]></title><description><![CDATA[<p>Referenz geht auch noch.<br />
kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933376</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 03 Dec 2005 19:42:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 20:21:30 GMT]]></title><description><![CDATA[<p>also erstmal danke für die Antworten.</p>
<p>Aber was mache ich, wenn ich jetzt ein Objekt von B benötige??<br />
Dann bin ich doch aufgeschmissen oder??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933428</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Sat, 03 Dec 2005 20:21:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 20:23:16 GMT]]></title><description><![CDATA[<p>nightrider schrieb:</p>
<blockquote>
<p>Aber was mache ich, wenn ich jetzt ein Objekt von B benötige??<br />
Dann bin ich doch aufgeschmissen oder??</p>
</blockquote>
<p>Die Frage versteh ich nicht.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933431</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 03 Dec 2005 20:23:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 20:23:32 GMT]]></title><description><![CDATA[<p>Dann musst du eben die Definition von B einbinden.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933432</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Sat, 03 Dec 2005 20:23:32 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 20:38:54 GMT]]></title><description><![CDATA[<blockquote>
<p>Die Frage versteh ich nicht.</p>
</blockquote>
<p>Wenn ich jetzt keinen Pointer benötige, der auf B zeigt, sonder ein konkretes Objekt von B.</p>
<blockquote>
<p>Dann musst du eben die Definition von B einbinden.</p>
</blockquote>
<p>Sorry, das versteh ich jetzt wieder nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933449</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Sat, 03 Dec 2005 20:38:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 20:39:47 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class B
{

};

class A
{
  B b;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/933451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933451</guid><dc:creator><![CDATA[ss]]></dc:creator><pubDate>Sat, 03 Dec 2005 20:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 20:52:24 GMT]]></title><description><![CDATA[<p>nightrider schrieb:</p>
<blockquote>
<p>Wenn ich jetzt keinen Pointer benötige, der auf B zeigt, sonder ein konkretes Objekt von B.</p>
</blockquote>
<p>Wenn du &quot;nur&quot; einen pointer hast der auf ein B zeigt dann musst du den pointer eben dereferenzieren.</p>
<pre><code class="language-cpp">class B
{
public:
  void do_something() {};
};

class A
{
  void use_b() { b-&gt;do_something(); }
  B * b;
};
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933464</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 03 Dec 2005 20:52:24 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 21:07:13 GMT]]></title><description><![CDATA[<p>Die Idee von ss ist eigentlich nicht blöd <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="🙂"
    /><br />
nur ist das keine wirkliche Problemlösung.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7155">@Zuk</a><br />
Erstmal danke für dein Engagement (hoffentlich richtig geschrieben), aber ich wollte eigentlich nur wissen, was man macht, wenn man KEINEN pointer, sondern ein OBJEKT benötigt.</p>
<p>Also wenn das so ausschaut:</p>
<blockquote>
<p>class A<br />
{<br />
B b;<br />
};<br />
class B<br />
{</p>
<p>};</p>
</blockquote>
<p>Ich weiß jetzt, dass so was nicht möglich ist, nur was ist, wenn man so was mal benötigt???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933478</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Sat, 03 Dec 2005 21:07:13 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 21:07:17 GMT]]></title><description><![CDATA[<blockquote>
<p>nur ist das keine wirkliche Problemlösung.</p>
</blockquote>
<p>weil...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933479</guid><dc:creator><![CDATA[hirn...]]></dc:creator><pubDate>Sat, 03 Dec 2005 21:07:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 21:12:12 GMT]]></title><description><![CDATA[<p>naja, wenn man mehrere Klassen hat, und man verschiedene Objekte in verschiedenen Klassen benötigt, funktioniert sowas unter umständen nicht.</p>
<p>Außerdem möchte ich entscheiden können, welche Klasse ich wann definiere und ob ich<br />
eine Pointervariable oder ein Objekt erzeuge...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933480</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Sat, 03 Dec 2005 21:12:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 21:15:47 GMT]]></title><description><![CDATA[<p>Pack jede Klasse in eine Header-Datei und die kannst du dann überall einbinden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933487</guid><dc:creator><![CDATA[header.h]]></dc:creator><pubDate>Sat, 03 Dec 2005 21:15:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 21:20:33 GMT]]></title><description><![CDATA[<p>Jo das klingt gut, scheint die einzig sinnvolle Lösung zu sein...</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933494</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Sat, 03 Dec 2005 21:20:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 21:33:09 GMT]]></title><description><![CDATA[<p>header.h schrieb:</p>
<blockquote>
<p>Pack jede Klasse in eine Header-Datei und die kannst du dann überall einbinden.</p>
</blockquote>
<p>Wenn sich die Klassen gegenseitig referenzieren geht's nicht. Eine der beiden kann nur einen Pointer oder eine Referenz auf die andere als membervariable haben.<br />
Kurt<br />
PS: wär ja auch nicht sinnvoll. A enthält B das ein A enthält das wieder ein B enthält ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933505</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 03 Dec 2005 21:33:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 21:35:31 GMT]]></title><description><![CDATA[<p>Jo, das ist klar..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933512</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Sat, 03 Dec 2005 21:35:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei kurze Fragen on Sat, 03 Dec 2005 22:15:32 GMT]]></title><description><![CDATA[<p>nightrider schrieb:</p>
<blockquote>
<blockquote>
<p>class A<br />
{<br />
B b;<br />
};<br />
class B<br />
{</p>
<p>};</p>
</blockquote>
<p>Ich weiß jetzt, dass so was nicht möglich ist, nur was ist, wenn man so was mal benötigt???</p>
</blockquote>
<p>wenn der code wirklich so aussieht, dann steht B in der hierarchie höher als A. also muss B auch weiter oben stehen, als A.<br />
bzw, A muss den header von B includieren. du brauchst A _nicht_ zuerst definieren...</p>
<p>gemein wirds, wenn B auch einen verweis auf A braucht. dann wirds hässlich. (das ist einer der fälle, wo gewisse subjekte aus dem board sagen &quot;das design ist mist&quot;, wobei ich noch keinen konkreten vorschlag gelesen habe, wie man's besser macht. <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/933540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933540</guid><dc:creator><![CDATA[orthonormalbasis]]></dc:creator><pubDate>Sat, 03 Dec 2005 22:15:32 GMT</pubDate></item></channel></rss>