<?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[Klassen welche sich gegenseitig verwenden?]]></title><description><![CDATA[<p>Diese Design ist wohl nicht möglich? AAA verwendet BBB , und BBB verwendet AAA</p>
<pre><code class="language-cpp">#pragma once
#include &quot;BBB.h&quot;
class CBBB;
class CAAA{
public:
	CAAA(void);

	void AAA_func(){
		CBBB o;
		o.BBB_func();
	}
	~CAAA(void);
};

#include &quot;AAA.h&quot;
class CAAA;
class CBBB{
public:
	CBBB(void);

	void BBB_func(){
		CAAA o;
		o.AAA_func();
	}

	~CBBB(void);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/216635/klassen-welche-sich-gegenseitig-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 07:01:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216635.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 26 Jun 2008 10:36:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen welche sich gegenseitig verwenden? on Thu, 26 Jun 2008 10:36:52 GMT]]></title><description><![CDATA[<p>Diese Design ist wohl nicht möglich? AAA verwendet BBB , und BBB verwendet AAA</p>
<pre><code class="language-cpp">#pragma once
#include &quot;BBB.h&quot;
class CBBB;
class CAAA{
public:
	CAAA(void);

	void AAA_func(){
		CBBB o;
		o.BBB_func();
	}
	~CAAA(void);
};

#include &quot;AAA.h&quot;
class CAAA;
class CBBB{
public:
	CBBB(void);

	void BBB_func(){
		CAAA o;
		o.AAA_func();
	}

	~CBBB(void);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1536208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536208</guid><dc:creator><![CDATA[Relationierer]]></dc:creator><pubDate>Thu, 26 Jun 2008 10:36:52 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen welche sich gegenseitig verwenden? on Thu, 26 Jun 2008 10:39:11 GMT]]></title><description><![CDATA[<p>entferne das zyklische inkludieren, indem du die implementierungen in .cpp dateien schreibst. dann klappts auch mit dem nachbarn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536210</guid><dc:creator><![CDATA[implementierer]]></dc:creator><pubDate>Thu, 26 Jun 2008 10:39:11 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen welche sich gegenseitig verwenden? on Thu, 26 Jun 2008 10:39:21 GMT]]></title><description><![CDATA[<p>So nicht.<br />
Aber mit wenig Änderungen kannst Du das realisieren.</p>
<p>1. Interface und Impl. trennen (H und CPP)<br />
2. Mit Pointer od. Referenzen arbeiten (falls als Member od. Funk. Arg.) und Vorwärtsdekl.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536212</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Thu, 26 Jun 2008 10:39:21 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen welche sich gegenseitig verwenden? on Thu, 26 Jun 2008 11:03:48 GMT]]></title><description><![CDATA[<p>das kann gar nicht funktionieren, denn CAAA muss ein CBBB erzeugen, damit sie selbst instanziert werden kann. CBBB muss aber ein CAAA erzeugen und CAAA wieder ein CBBB.... wie man erkennt, endet das in endloser rekursion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536237</guid><dc:creator><![CDATA[wohl kaum!]]></dc:creator><pubDate>Thu, 26 Jun 2008 11:03:48 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen welche sich gegenseitig verwenden? on Thu, 26 Jun 2008 11:31:36 GMT]]></title><description><![CDATA[<p>wohl kaum! schrieb:</p>
<blockquote>
<p>das kann gar nicht funktionieren, denn CAAA muss ein CBBB erzeugen, damit sie selbst instanziert werden kann. CBBB muss aber ein CAAA erzeugen und CAAA wieder ein CBBB.... wie man erkennt, endet das in endloser rekursion.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>(AAA.h)</p>
<pre><code class="language-cpp">struct CAAA{
   void AAA_func();
};
</code></pre>
<p>(AAA.cpp)</p>
<pre><code class="language-cpp">#include &quot;AAA.h&quot;
#include &quot;BBB.h&quot;
void CAAA::AAA_func() {
   CBBB o;
   o.BBB_func();
}
</code></pre>
<p>(BBB.h)</p>
<pre><code class="language-cpp">struct CBBB{
   void BBB_func(){
	CAAA o;
	o.AAA_func();
   }
}
</code></pre>
<p>(BBB.cpp)</p>
<pre><code class="language-cpp">#include &quot;BBB.h&quot;
#include &quot;AAA.h&quot;
void CBBB::BBB_func(){
   CAAA o;
   o.AAA_func();
}
</code></pre>
<p>... geht doch tadellos.<br />
Aufrufen würde ich das Ganze natürlich nicht - aber &quot;Erzeugen&quot; geht.</p>
<p>Gruß,</p>
<p>Simon2.</p>
<p>P.S.: Diese c-Präfixnotation finde ich nicht besonders glücklich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536258</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 26 Jun 2008 11:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen welche sich gegenseitig verwenden? on Thu, 26 Jun 2008 11:30:20 GMT]]></title><description><![CDATA[<p>oh, stimmt. die objekte sind ja gar nicht teil der jeweils anderen klasse sondern werden nur &quot;temporär&quot; in einer methode erzeugt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536265</guid><dc:creator><![CDATA[ich idiot]]></dc:creator><pubDate>Thu, 26 Jun 2008 11:30:20 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen welche sich gegenseitig verwenden? on Thu, 26 Jun 2008 14:35:46 GMT]]></title><description><![CDATA[<p>ich idiot schrieb:</p>
<blockquote>
<p>oh, stimmt. die objekte sind ja gar nicht teil der jeweils anderen klasse sondern werden nur &quot;temporär&quot; in einer methode erzeugt.</p>
</blockquote>
<p>Macht ja nix. Ich hatte es auch spontan mißverstanden.... <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="😉"
    /><br />
Der Titel und die Angewohnheit, sowieso Deklaration und Implementierung zu trennen, legten das auch etwas näher (finde ich jedenfalls) ....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536433</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 26 Jun 2008 14:35:46 GMT</pubDate></item></channel></rss>