<?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[Gegensetige Abhänging keit von Klassen?]]></title><description><![CDATA[<p>habe 2 klassen jeweis in einer Header File:</p>
<pre><code class="language-cpp">//B.h

#include &quot;A.h&quot;

class B{

  A* m_p;
  B(A *p): m_p(p){
    m_p-&gt;funk();  //&lt;--- Problem 
  }

};

//A.h

#include &quot;B.h&quot;

class A{

  B *p;

  A(){
   p= new B(this);
  }
  void funk(){}

};
</code></pre>
<p>in A.h kann er B nich fidnen, wenn ich bspw. in A: B-&gt;funk() aufrufe,<br />
auch wenn ich B Forward- Deklariere?<br />
Was mach ich nun?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178409/gegensetige-abhänging-keit-von-klassen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 21:15:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178409.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Apr 2007 05:57:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 06:02:53 GMT]]></title><description><![CDATA[<p>habe 2 klassen jeweis in einer Header File:</p>
<pre><code class="language-cpp">//B.h

#include &quot;A.h&quot;

class B{

  A* m_p;
  B(A *p): m_p(p){
    m_p-&gt;funk();  //&lt;--- Problem 
  }

};

//A.h

#include &quot;B.h&quot;

class A{

  B *p;

  A(){
   p= new B(this);
  }
  void funk(){}

};
</code></pre>
<p>in A.h kann er B nich fidnen, wenn ich bspw. in A: B-&gt;funk() aufrufe,<br />
auch wenn ich B Forward- Deklariere?<br />
Was mach ich nun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263473</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Apr 2007 06:02:53 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 06:07:27 GMT]]></title><description><![CDATA[<p>Wie lautet denn die Fehlermeldung genau? Mit der Forward-Deklaration sollte es eigentlich klappen.</p>
<p>*genauer hinschaut*<br />
Das Problem ist, daß beide Ctoren die jeweils komplette Klassendefinition benötigen (A braucht die Größe von B für den new-Aufruf, B muß die Methoden von A kennen). Also mußt du mindestens eine der Ctor-Definitionen aus der Klassendefinition rausziehen:</p>
<pre><code class="language-cpp">class A;

class B
{
  A* m_p;
  B(A *p);
};

#include &quot;A.h&quot;

inline B::B(A*p)
 : m_p(p)
{
  m_p-&gt;funk();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1263481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263481</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Apr 2007 06:07:27 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 06:15:31 GMT]]></title><description><![CDATA[<p>ahh ok.. das wusst ich nich.. reicht es wenn ich ne neue funktion mache, die in Cstro afurufe, und dann die entsprechende funktion in der neuen aufurfe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263485</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Apr 2007 06:15:31 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 06:35:08 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>reicht es wenn ich ne neue funktion mache, die in Cstro afurufe, und dann die entsprechende funktion in der neuen aufurfe?</p>
</blockquote>
<p>Kannst du den Satz bitte mal auf Deutsch wiederholen?</p>
<p>(Nur zur Erklärung des Problems: Forward Deklarationen sagen dem Compiler nur, daß es die angegebene Klasse <em>gibt</em> - das reicht aus umd Pointer oder Referenzen darauf anzulegen, aber mehr auch nicht. Wenn der Compiler wissen muß, wie die Klasse aufgebaut ist (z.B. um Methoden aufzurufen oder Instanzen anzulegen), benötigt er die komplette Definition.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263489</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Apr 2007 06:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 06:41:19 GMT]]></title><description><![CDATA[<p>d.h. wenn ich den CStor in ne CPP auslagere, dann ist das problem weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263493</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Apr 2007 06:41:19 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 06:53:57 GMT]]></title><description><![CDATA[<p>Vermutlich ja (wobei ein explizit angegebenes 'inline' auch schon ausreicht)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263500</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Apr 2007 06:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 07:28:43 GMT]]></title><description><![CDATA[<p>jetzt kommt fehler C2514: klasse hat keine konstukoren..</p>
<p>es reicht doch wenn ich</p>
<pre><code class="language-cpp">#include &quot;B.h&quot;
class A{
..
.
.
B *p= new B(this);

};
</code></pre>
<p>weul in beim erzeugen von ner B instaznt kommt eben der Fehler...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263526</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:28:43 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 07:57:08 GMT]]></title><description><![CDATA[<p>Womöglich hast du die Reihenfolge der #includes durcheinandergeworfen, zeig doch mal beide Dateien.</p>
<p>(btw, nutzt du eigentlich Include Guards?)</p>
<p>PS: Und ich hoffe, diese Anweisung steht im Inneren einer Methode von A.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263547</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:57:08 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 07:57:56 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>jetzt kommt fehler C2514: klasse hat keine konstukoren..</p>
<p>es reicht doch wenn ich</p>
<pre><code class="language-cpp">#include &quot;B.h&quot;
class A{
..
.
.
B *p= new B(this);

};
</code></pre>
<p>weul in beim erzeugen von ner B instaznt kommt eben der Fehler...</p>
</blockquote>
<p>dasd idzt dovch volkmmen klar ein mas hnse reiht eignetluc...</p>
<p>grußs,<br />
simn2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263548</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:57:56 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 07:59:50 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>dasd idzt dovch volkmmen klar ein mas hnse reiht eignetluc...</p>
</blockquote>
<p><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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263553</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:59:50 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 08:01:21 GMT]]></title><description><![CDATA[<p>ja benutze include Guards.</p>
<p>Eine Klasse:</p>
<pre><code class="language-cpp">// header
#pragma once

// CProcPaths command target
#include &quot;ProcGraph.h&quot;

//class CProcGraph;

//extern class CProcGraph;

class CProcPaths : public CObject{

	CProcGraph* m;
public:
	inline CProcPaths(CProcGraph *p);// : m(p) {};
	CProcPaths(){}

	virtual ~CProcPaths();
};
//CPP

#include &quot;ProcPaths.h&quot;

//class CProcGraph;

// CProcPaths

CProcPaths::CProcPaths(CProcGraph *p) : m(p){

	int k= p-&gt;GetSize();

}
</code></pre>
<p>Die Andere klassse:</p>
<p>#include &quot;ProcPaths.h&quot;</p>
<pre><code class="language-cpp">class CProcGraph : public CObject{

	DECLARE_DYNAMIC(CProcGraph)

public:
.
.
.
.
	CProcPaths *m_pPaths;
public:
//Konstruktor

	CProcGraph(int iNodes=0) : m_iSize(iNodes){

		//Checken
		ASSERT(iNodes&gt;0);

		//Knoten Laden
		LoadNodes(iNodes);

		//Prozesspfade erzeugen
	//	this-&gt;m_pPathes= new CProcPaths(this,0,iNodes);
		m_pPaths= new CProcPaths(this);

	}
</code></pre>
<p>.<br />
.<br />
.<br />
};</p>
<p>die beide klassen sind gegenseitig abhängig</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263554</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Apr 2007 08:01:21 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 08:05:17 GMT]]></title><description><![CDATA[<p>Wenn du 'inline' benutzen willst, dann bitte an der richtigen Stelle <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="😉"
    /> (schau dir mal meinen ersten Beitrag hier an)</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/734">@Simon</a>: Was gab's denn gestern abend zu feiern <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/1263557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263557</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Apr 2007 08:05:17 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 08:11:53 GMT]]></title><description><![CDATA[<p>ohne inline gehts auch nich... er kennt in CProcGraph die CProcPath klasse nicht, obowhl ich sie ja includiere... ??? ich blicks nich mehr</p>
<p>Wenn ich aus der CProcPaths klasse die CProcGraph zeiger und rausenhem dann läufts.. die gegenseitige abhöängig keit macht ihm woh zu schaffen...</p>
<p>der compiler weis wohl nich was zuerst da war das huhn oder das ei...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263563</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Apr 2007 08:11:53 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 08:16:58 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>der compiler weis wohl nich was zuerst da war das huhn oder das ei...</p>
</blockquote>
<p>Genau das ist das hüpfende Komma. Pack mal in die ProcPath.h die Forward-Deklaration und in die ProcPath.cpp das <code>#include &quot;ProcGraph.h&quot;</code> , dann sollte die zyklische Abhängigkeit eigentlich aufgedröselt sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263568</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Apr 2007 08:16:58 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 09:12:04 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>...<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/734">@Simon</a>: Was gab's denn gestern abend zu feiern <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>
</blockquote>
<p>Was heißt hier gestern ? Heute ist doch &quot;free-orthography-day&quot; (oder wie Boris sagen würde &quot;fre.orphpganü-da&quot;) <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>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263625</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 11 Apr 2007 09:12:04 GMT</pubDate></item><item><title><![CDATA[Reply to Gegensetige Abhänging keit von Klassen? on Wed, 11 Apr 2007 09:27:35 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/734">@Simon</a>: &quot;fre.orphpganü-da&quot; hehe.. ne das passt nich so ganz. Zum Beispiel das &quot;ü&quot; ist zu weit weg vom &quot;y&quot; auf der tastatur&quot;</p>
<p>ich verfehle nur tasten, und meine leertasten sind nich oft syncron mit der wort trennung!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263636</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 11 Apr 2007 09:27:35 GMT</pubDate></item></channel></rss>