<?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 ineinader verfügbar machen [gelöst]]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>zuerst möchte ich mich mal für den Titel entschuldigen aber eine bessere Problembeschreibung ist mir nicht eingefallen.</p>
<p><strong>Problem:</strong></p>
<p>Mein Problem ist, die Kommunikation zwei Klassen-Instanzen untereinander. Nennen wir Sie</p>
<p>CKlasse_1 und CKlasse_2</p>
<p>Nun kann ich Klasse_1 einen Zeiger auf eine Instanz der Klasse_2 übergeben, um die Methoden von Klasse_2 aufzurufen. Um diesen Zeiger zu übergeben, includiere ich den Header der Klasse_2 im Header der Klasse_1 und erstelle eine Init-Funktion mit dem Argument: CKlasse_2* m_pKlasse2</p>
<p>Das alles funktioniert auch.</p>
<p>Nun würde ich das gleiche Spiel aber auch anders rum machen. Also in Klasse_2 möchte ich Methoden der Klasse_1 aufrufen können. Aber Sobald ich den Header der Klasse_1 einbinde, entsteht eine Art Endlosschleife.</p>
<p>Vielleicht könnte sich jemand die Zeit nehmen und mir kurz erklären, wie ich dieses Problem lösen kann. Sollte ich etwas zu ungenau beschrieben haben, werd ich ein Beispiel nach reichen.</p>
<p>Vielen Dank für eure Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243860/klassen-ineinader-verfügbar-machen-gelöst</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 16:43:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243860.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Jun 2009 10:02:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen ineinader verfügbar machen [gelöst] on Mon, 22 Jun 2009 14:17:28 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>zuerst möchte ich mich mal für den Titel entschuldigen aber eine bessere Problembeschreibung ist mir nicht eingefallen.</p>
<p><strong>Problem:</strong></p>
<p>Mein Problem ist, die Kommunikation zwei Klassen-Instanzen untereinander. Nennen wir Sie</p>
<p>CKlasse_1 und CKlasse_2</p>
<p>Nun kann ich Klasse_1 einen Zeiger auf eine Instanz der Klasse_2 übergeben, um die Methoden von Klasse_2 aufzurufen. Um diesen Zeiger zu übergeben, includiere ich den Header der Klasse_2 im Header der Klasse_1 und erstelle eine Init-Funktion mit dem Argument: CKlasse_2* m_pKlasse2</p>
<p>Das alles funktioniert auch.</p>
<p>Nun würde ich das gleiche Spiel aber auch anders rum machen. Also in Klasse_2 möchte ich Methoden der Klasse_1 aufrufen können. Aber Sobald ich den Header der Klasse_1 einbinde, entsteht eine Art Endlosschleife.</p>
<p>Vielleicht könnte sich jemand die Zeit nehmen und mir kurz erklären, wie ich dieses Problem lösen kann. Sollte ich etwas zu ungenau beschrieben haben, werd ich ein Beispiel nach reichen.</p>
<p>Vielen Dank für eure Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730891</guid><dc:creator><![CDATA[drzi]]></dc:creator><pubDate>Mon, 22 Jun 2009 14:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ineinader verfügbar machen [gelöst] on Mon, 22 Jun 2009 10:10:04 GMT]]></title><description><![CDATA[<p>drzi schrieb:</p>
<blockquote>
<p>...Aber Sobald ich den Header der Klasse_1 einbinde, entsteht eine Art Endlosschleife.</p>
</blockquote>
<p>Stichworte sind Includeguards und Forward Declaration.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730893</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 22 Jun 2009 10:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ineinader verfügbar machen [gelöst] on Mon, 22 Jun 2009 11:09:33 GMT]]></title><description><![CDATA[<pre><code>#ifndef _CKLASSE_H_ // include guard
#define _CKLASSE_H_

class CKlasse_2; // forward declaration

class CKlasse_1
{
public:
  void init(CKlasse_2 *ckl2);
};

class CKlasse_2
{
public:
  void init(CKlasse_1 *ckl1);
};

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1730918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730918</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Mon, 22 Jun 2009 11:09:33 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ineinader verfügbar machen [gelöst] on Mon, 22 Jun 2009 13:35:01 GMT]]></title><description><![CDATA[<p>Vielen Dank. Dass war genau das, was ich gesucht habe. Im Netz gab es auch einige Beiträge um sich den Hintergrund anzulesen. Ich muss zugeben, ich habe diesen include-guard bisher immer verwendet, ohne zu wissen, wofür er eigentlich da ist.</p>
<p>Eine Frage noch, man spricht ja immer von standardisiertem Code. Ist dies ein legitimes Mittel um das Ziel zu erreichen, oder mehr ein &quot;hack&quot; vergleichbar mit &quot;extern&quot; zum golbalen deklarieren. Irgendwo habe ich gelesen, das es zwar funktioniert, aber nicht verwendet werden soll.</p>
<p>Danke noch mal für eure Hilfe.</p>
<p>bye</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731008</guid><dc:creator><![CDATA[drzi]]></dc:creator><pubDate>Mon, 22 Jun 2009 13:35:01 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ineinader verfügbar machen [gelöst] on Mon, 22 Jun 2009 13:44:09 GMT]]></title><description><![CDATA[<p>ist legitim</p>
<p>wo liest man denn so was? Oo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731014</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 22 Jun 2009 13:44:09 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ineinader verfügbar machen [gelöst] on Mon, 22 Jun 2009 18:56:49 GMT]]></title><description><![CDATA[<p>Vielleicht hat er hat er allgemein Makros gemeint, die teilweise missbraucht werden und recht fehleranfällig/typunsicher sein können...</p>
<p>Wie auch immer, Include Guards gehören definitiv nicht zu der Sorte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731228</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 22 Jun 2009 18:56:49 GMT</pubDate></item></channel></rss>