<?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[[gelöst]Vererbungsproblem]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich weiß nicht ob der Titel passend ist aber mir fällt irgendwie nichts passenderes ein.</p>
<p>Ich habe folgendes &quot;Problem&quot;:</p>
<p>Ich habe einen Basisklasse A, von dieser erben die Klassen B und C. soweit kein Problem.</p>
<p>In der Klasse A brauche ich nun einen Zeiger der auf ein Objekt der Klasse B zeigt. Und da fangen die Probleme an. Ich habe jeweils ein Header- und Sourcefile für eine Klasse. Im Header der Klasse A wird der Header der Klasse B inkludiert und umgekehrt. In der Definition der Klasse A bekomme ich nun aber den Fehler dass der Typ B nicht erkannt wird. In den Headerfiles sind die üblichen Include Guards und die sind denke ich auch das Problem.</p>
<p>Wenn ich es in einem Header definiere funktioniert es:</p>
<pre><code class="language-cpp">class B;

class A
{
   /*...*/
   private:
      B* parent;
}

Class C : public A
{
   /*...*/
}

Class B : public A
{
   /*...*/
}
</code></pre>
<p>So funktioniert es prinzipiell, ich hätte aber lieber jede Klasse in einem eigenen Header. Hat jemand dazu eine Idee?</p>
<p>Beste Grüße<br />
Andreas</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/301491/gelöst-vererbungsproblem</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 23:50:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301491.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Mar 2012 16:19:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Wed, 28 Mar 2012 16:43:37 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich weiß nicht ob der Titel passend ist aber mir fällt irgendwie nichts passenderes ein.</p>
<p>Ich habe folgendes &quot;Problem&quot;:</p>
<p>Ich habe einen Basisklasse A, von dieser erben die Klassen B und C. soweit kein Problem.</p>
<p>In der Klasse A brauche ich nun einen Zeiger der auf ein Objekt der Klasse B zeigt. Und da fangen die Probleme an. Ich habe jeweils ein Header- und Sourcefile für eine Klasse. Im Header der Klasse A wird der Header der Klasse B inkludiert und umgekehrt. In der Definition der Klasse A bekomme ich nun aber den Fehler dass der Typ B nicht erkannt wird. In den Headerfiles sind die üblichen Include Guards und die sind denke ich auch das Problem.</p>
<p>Wenn ich es in einem Header definiere funktioniert es:</p>
<pre><code class="language-cpp">class B;

class A
{
   /*...*/
   private:
      B* parent;
}

Class C : public A
{
   /*...*/
}

Class B : public A
{
   /*...*/
}
</code></pre>
<p>So funktioniert es prinzipiell, ich hätte aber lieber jede Klasse in einem eigenen Header. Hat jemand dazu eine Idee?</p>
<p>Beste Grüße<br />
Andreas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196291</guid><dc:creator><![CDATA[the live]]></dc:creator><pubDate>Wed, 28 Mar 2012 16:43:37 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Wed, 28 Mar 2012 16:22:33 GMT]]></title><description><![CDATA[<p>Wo ist das Problem?</p>
<pre><code class="language-cpp">// A.hpp

class B;

class A
{
  B* parent;
}
</code></pre>
<pre><code class="language-cpp">// A.cpp
#include &lt;B.hpp&gt;

...
</code></pre>
<p>PS: Was sind das denn für Klassen? Es ist doch recht ungewöhnlich, dass A hier von B weiß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196292</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 28 Mar 2012 16:22:33 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Wed, 28 Mar 2012 16:24:55 GMT]]></title><description><![CDATA[<p>das habe ich eigentlich probiert, hat aber irgendwie nicht funktioniert... ich probiere es gleich noch mal <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2196293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196293</guid><dc:creator><![CDATA[the live]]></dc:creator><pubDate>Wed, 28 Mar 2012 16:24:55 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Wed, 28 Mar 2012 17:07:35 GMT]]></title><description><![CDATA[<p>ich kann jetzt nicht mehr genau sagen ob ich es bei den zig Versuchen vorher gleich hatte, aber es funktioniert jetzt. Danke!</p>
<p>Es soll grob gesagt die Struktur eines Dateisystems abgebildet werden. Die Basisklasse (FilesystemObject) enthält dabei alles was auf eine File und ein Directory zutrifft, darunter auch, dass sowohl ein Directory als auch File einen Zeiger auf das parent Object haben, was aber nur ein Directory sein kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196311</guid><dc:creator><![CDATA[the live]]></dc:creator><pubDate>Wed, 28 Mar 2012 17:07:35 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Wed, 28 Mar 2012 17:09:18 GMT]]></title><description><![CDATA[<p>Dann schau dir mal das Composite-Pattern an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196313</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Wed, 28 Mar 2012 17:09:18 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Wed, 28 Mar 2012 17:32:17 GMT]]></title><description><![CDATA[<p>Das implementiere ich auch. In der Directory Klasse gibt es einen Container der Objekte vom Typ FilesystemObject enthält, jedoch hätte ich gerne eine Möglichkeit das parent Objekt zu ermitteln ohne dass ich den ganzen Baum durchgehen muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196326</guid><dc:creator><![CDATA[the live]]></dc:creator><pubDate>Wed, 28 Mar 2012 17:32:17 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Wed, 28 Mar 2012 21:33:55 GMT]]></title><description><![CDATA[<p>Sorry, da hab ich nicht genau genug hingesehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196417</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Wed, 28 Mar 2012 21:33:55 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Thu, 29 Mar 2012 05:55:45 GMT]]></title><description><![CDATA[<p>Weil es in dem Codestück auch nicht steht ;), aber ich überdenke das mit dem Zeiger auf Parent noch mal, bin mir selbst nicht mehr sicher ob das so eine gute Idee ist <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2196454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196454</guid><dc:creator><![CDATA[the live]]></dc:creator><pubDate>Thu, 29 Mar 2012 05:55:45 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Vererbungsproblem on Thu, 29 Mar 2012 06:13:49 GMT]]></title><description><![CDATA[<p>Tja eine bessere Lösung fällt mir da auf Anhieb auch nicht ein. Die Frage ist halt, ob die Elemente ihre Eltern wirklich kennen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196461</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Thu, 29 Mar 2012 06:13:49 GMT</pubDate></item></channel></rss>