<?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[Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern?]]></title><description><![CDATA[<p>Ich hab folgendes problem:</p>
<pre><code class="language-cpp">#include B.h
class A{
aLsit&lt;B&gt;
}

#include B.h
class B{
B(A* a){}
}
</code></pre>
<p>kann er nicht compilieren. leuchtet mir ja auch ein, da er weder die eine klasse ohne die andere zu bauen , noch die ander onhne die jeweils andere. die klassen brauchen sich quasi gegenseitig um sich zu erstellen. die frage ist, wie lös ich sowas?</p>
<p>der error des compilers ist, das er an der B constructor stelle sagt das er den typ A vom *a nicht kennt (ist natürlich per include eingebunden, kann ja aber ohne die definition von B nicht gebaut werden)</p>
<p>vielecith überseh ich ja etwas.</p>
<p>ich komm von java, da wär das no problem meine ich zu errinern.</p>
<p>ich danke im vorraus</p>
<p>D3CK</p>
<p>//Edit: Bitt Codetags benutzen! In Zukunft bitte daran denken! (evilissimo)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187417/klasse-a-ist-memebr-von-klasse-b-und-klasse-b-ist-member-von-klasse-a-wie-compiliern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 19:03:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187417.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Jul 2007 12:54:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Thu, 19 Jul 2007 12:56:27 GMT]]></title><description><![CDATA[<p>Ich hab folgendes problem:</p>
<pre><code class="language-cpp">#include B.h
class A{
aLsit&lt;B&gt;
}

#include B.h
class B{
B(A* a){}
}
</code></pre>
<p>kann er nicht compilieren. leuchtet mir ja auch ein, da er weder die eine klasse ohne die andere zu bauen , noch die ander onhne die jeweils andere. die klassen brauchen sich quasi gegenseitig um sich zu erstellen. die frage ist, wie lös ich sowas?</p>
<p>der error des compilers ist, das er an der B constructor stelle sagt das er den typ A vom *a nicht kennt (ist natürlich per include eingebunden, kann ja aber ohne die definition von B nicht gebaut werden)</p>
<p>vielecith überseh ich ja etwas.</p>
<p>ich komm von java, da wär das no problem meine ich zu errinern.</p>
<p>ich danke im vorraus</p>
<p>D3CK</p>
<p>//Edit: Bitt Codetags benutzen! In Zukunft bitte daran denken! (evilissimo)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328525</guid><dc:creator><![CDATA[D3CK]]></dc:creator><pubDate>Thu, 19 Jul 2007 12:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Thu, 19 Jul 2007 12:55:43 GMT]]></title><description><![CDATA[<p>Versuch's mal mit einer Forward-Deklaration (für den B-Ctor braucht der Compiler nicht die volle Definition, sondern nur das Wissen, daß es eine Klasse A gibt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328527</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 19 Jul 2007 12:55:43 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Thu, 19 Jul 2007 12:56:36 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class A;

class B{
B(A* a){}
}

class A{
aLsit&lt;B&gt;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1328528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328528</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Thu, 19 Jul 2007 12:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Thu, 19 Jul 2007 13:06:03 GMT]]></title><description><![CDATA[<p>boohaa! das ging ja übertrieben schnell! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
nächste mal nehm ich code <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>ich wuste zwar erst nicht was forward-deklarationen sin, ist mir aber gelich klar geworden was gemint ist und was ich tun kann!</p>
<p>vielen herzlichen Dank!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>D3CK</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328535</guid><dc:creator><![CDATA[D3CK]]></dc:creator><pubDate>Thu, 19 Jul 2007 13:06:03 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Thu, 19 Jul 2007 13:09:48 GMT]]></title><description><![CDATA[<p>und Mitglied <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>bis dann!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328541</guid><dc:creator><![CDATA[D3CK]]></dc:creator><pubDate>Thu, 19 Jul 2007 13:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Fri, 20 Jul 2007 03:25:34 GMT]]></title><description><![CDATA[<p>was ist wenn A und B im konstruktor jewils den anderen brauchen?</p>
<p>dann geht das nich mehr so einfach oder?</p>
<pre><code class="language-cpp">class A{

 A(B *b){...}
};

class B{

B(A *a) {..}
};
</code></pre>
<p>dann müsste man ja das über gegensetige gekapselte Header machen oder?</p>
<p>wie macht der compiler das.. er kann dies ohne das nicht machen, und das nich ohne dies?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328942</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 20 Jul 2007 03:25:34 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Fri, 20 Jul 2007 05:02:51 GMT]]></title><description><![CDATA[<p>Solange nur der Zeiger gebraucht wird und nicht das Objekt selbst, genügen auch hier Forward-Deklarationen. Den Körper des Konstruktors muss man allerdings, wenn der Zeiger dort dereferenziert werden soll, aus der Klasse rausziehen und nach der Includierung des Headers der jew. anderen Klasse implementieren...</p>
<pre><code class="language-cpp">// A.h
class B;

class A {
    A( B* ptr );
};

// B.h
class A;

class B {
    B( A* ptr );
};

// A.cpp
#include &quot;A.h&quot;
#include &quot;B.h&quot;

A::A( B* ptr )
{
    // machwas mit *ptr
}

// B.cpp analog
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1328947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328947</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 20 Jul 2007 05:02:51 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Fri, 20 Jul 2007 13:18:37 GMT]]></title><description><![CDATA[<p>Die Frage ist nur wie man ein A anlegen will wenn man ein B dazu braucht was man wiederum nur anlegen kann wenn man schon ein A hat...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329275</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 20 Jul 2007 13:18:37 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Fri, 20 Jul 2007 13:36:25 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Die Frage ist nur wie man ein A anlegen will wenn man ein B dazu braucht was man wiederum nur anlegen kann wenn man schon ein A hat...</p>
</blockquote>
<p>Die Verbindung muss ja nicht besitzend sein.</p>
<p>Beispiel:<br />
Eine Gruppe besitzt X Mitglieder. Und jedes Mitglied weiss zu welcher Gruppe es gehört.</p>
<p>Oder aber:<br />
Mein Vater besitzt eine Familie (er ist quasi das oberhaupt oder was auch immer). In dieser Familie gibt es einen Sohn der selber Vater ist und eine Familie besitzt.</p>
<p>Gibt durchaus so abstruse szenarien wo man soetwas braucht. dass sich nicht 2 objekte gegenseitig besitzen können ist klar - aber es geht hier ja nicht um objekte sondern klassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329305</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 20 Jul 2007 13:36:25 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Fri, 20 Jul 2007 13:57:36 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Die Frage ist nur wie man ein A anlegen will wenn man ein B dazu braucht was man wiederum nur anlegen kann wenn man schon ein A hat...</p>
</blockquote>
<p>ne andere sprache als c++ verwenden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329321</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 20 Jul 2007 13:57:36 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Fri, 20 Jul 2007 15:05:35 GMT]]></title><description><![CDATA[<p>thordk schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Die Frage ist nur wie man ein A anlegen will wenn man ein B dazu braucht was man wiederum nur anlegen kann wenn man schon ein A hat...</p>
</blockquote>
<p>ne andere sprache als c++ verwenden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>geht in c++ genauso wie in jeder anderen sprachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329368</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 20 Jul 2007 15:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse A ist memebr von  KLasse B und Klasse B ist Member von Klasse A. Wie Compiliern? on Fri, 20 Jul 2007 22:43:03 GMT]]></title><description><![CDATA[<p>@Shade Of Mine: ja, ist mir schon klar, ist dasselbe bei Bäumen, die haben auch Nodes die auf Nodes zeigen die auf Nodes zeigen die auf Nodes zeigen... und irgendwann ist halt Schluss.</p>
<p>Das was du meinst sollte in jeder vernünftigen Sprache möglich sein.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9660">@thordk</a>: Danke für dein äusserst schlaues Kommentar, bloss das was ich meinte ist in keiner Sprache möglich, da es eben überhaupt nicht möglich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329551</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 20 Jul 2007 22:43:03 GMT</pubDate></item></channel></rss>