<?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[Dateinübergreifender Zugriff auf Objekt]]></title><description><![CDATA[<p>Ich bin wirklich am verzweifeln.<br />
Ich hab zwei .cpp Dateien mit je einer Klasse. Die Klassen müssen untereinander jeweils auf die Methoden zugreifen können. Also z.B. eine Methode der Klasse A auf eine der Klasse B.<br />
Kann mir jemand verraten wie und wo ich die Objekte erstellen muss damit ich überall in jeder .cpp Datei auf die jeweiligen Klassen/Methoden zugreifen kann? Mein Programm muss bis Dienstag laufen, und ich komm einfach nicht weiter wenn das nicht geht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>P.S.<br />
Ich weiß...die Frage hab ich schonmal gestellt. Aber der Thread is dirkt ganz runter gerutscht, und ich hoffe das ein unbeantworteter Thread eher gelesen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121451/dateinübergreifender-zugriff-auf-objekt</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Jul 2026 05:17:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121451.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Sep 2005 12:45:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 12:45:04 GMT]]></title><description><![CDATA[<p>Ich bin wirklich am verzweifeln.<br />
Ich hab zwei .cpp Dateien mit je einer Klasse. Die Klassen müssen untereinander jeweils auf die Methoden zugreifen können. Also z.B. eine Methode der Klasse A auf eine der Klasse B.<br />
Kann mir jemand verraten wie und wo ich die Objekte erstellen muss damit ich überall in jeder .cpp Datei auf die jeweiligen Klassen/Methoden zugreifen kann? Mein Programm muss bis Dienstag laufen, und ich komm einfach nicht weiter wenn das nicht geht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>P.S.<br />
Ich weiß...die Frage hab ich schonmal gestellt. Aber der Thread is dirkt ganz runter gerutscht, und ich hoffe das ein unbeantworteter Thread eher gelesen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878563</guid><dc:creator><![CDATA[Seeaal]]></dc:creator><pubDate>Fri, 23 Sep 2005 12:45:04 GMT</pubDate></item><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 13:01:43 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>wenn du s dir einfachen machen willst, fass die beiden Klassen in einer Datei zusammen, dann reicht eine einfache Forward Declaration.</p>
<p>Wenn das nicht gewollt ist, must du darauf achten, das du nicht Header A in Header B includest <strong>und</strong> andersrum. Denn das ist Circular Linking und funktioniert nicht. Besser ist sowas wie Header A in Header B includen und Header B in Implementation A includen.<br />
Außerdem kannst du mit einer gemeinsamen Datei/Klasse C arbeiten, die alle gemeinsamen Methoden für A unb B bereitstellt.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878582</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 23 Sep 2005 13:01:43 GMT</pubDate></item><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 13:06:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Das ist die eine Sache, aber so wie ich ihn verstanden habe will er Instanzen beider Klassen als globale Variablen im gesamten Programm bereitstellen. Dazu müßte er diese Instanzen natürlich einmal mit <strong>extern</strong> deklarieren.<br />
Wobei man globale Variablen aber vermeiden sollte. Das kann man mit Sicherheit auch anders lösen.<br />
Bezüglich des Zugriffs am besten (wie akari schon sagte) die Deklarationen in eine Datei und dann eine Forwarddeklaration.<br />
Vielleicht so</p>
<pre><code class="language-cpp">class B;

class A
{
	public:
	  A() {}
	  void callBFunct(B&amp; b)
	  {
	  	b.funct();
	  }
	  void funct() {}
};

class B
{
  public:
    B() {}
    void callAFunct(A&amp; a)
    {
      a.funct();
    }
    void funct() {}
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/878590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878590</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 23 Sep 2005 13:06:37 GMT</pubDate></item><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 14:15:59 GMT]]></title><description><![CDATA[<p>1000 mal Danke.<br />
Ich benutz jetz zwar immer noch globale Instanzen, aber mit <strong>extern</strong> hab ich's zumindest geschaft die überall bekannt zu machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878650</guid><dc:creator><![CDATA[Seeaal]]></dc:creator><pubDate>Fri, 23 Sep 2005 14:15:59 GMT</pubDate></item><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 14:32:00 GMT]]></title><description><![CDATA[<p>Das hatt Joe dir im vorigen Thread aber auch schon gesagt. Desweiteren hat auch er darauf hingewiesen, dass man globale Variablen vermeiden sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878661</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 23 Sep 2005 14:32:00 GMT</pubDate></item><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 15:23:42 GMT]]></title><description><![CDATA[<p>Allerdings wusst ich nicht viel mit dem wort extern anzufangen....ich wusste nicht mal das es zur deklaration benutzt wird...<br />
Das man globale Variablen vermeiden soll ist mir sehr wohl bewusst. Nur hab ich z.Z. keine andere Möglichkeit, da mein wissen in OOP noch nicht sehr weitreichend ist!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878693</guid><dc:creator><![CDATA[Seeaal]]></dc:creator><pubDate>Fri, 23 Sep 2005 15:23:42 GMT</pubDate></item><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 16:55:52 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@akari</a><br />
Habe mal in der FAQ nachgesehen, dort gibt es ein schönes Beispiel zu diesem Thema, allerdings wird da Header A in Header B includiert und anders rum, also genau so wie du gesagt hast, dass man es nicht machen soll und dass es nicht funktioniert. Hab das mal ausprobiert und es funzt wunderbar.</p>
<p>/Edit: Ups, lesen sollte man können, habe nichts gesagt. da werden die Header ja beide male in der Implementation includiert. Tschuldigung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878737</guid><dc:creator><![CDATA[wedmer]]></dc:creator><pubDate>Fri, 23 Sep 2005 16:55:52 GMT</pubDate></item><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 17:41:36 GMT]]></title><description><![CDATA[<p>Welche FAQ is das denn? Hatte keine passende gefunden. Wäre ja für zukünfige Projekte interesant zu wissen wie es &quot;richtig&quot; gemacht wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878785</guid><dc:creator><![CDATA[Seeaal]]></dc:creator><pubDate>Fri, 23 Sep 2005 17:41:36 GMT</pubDate></item><item><title><![CDATA[Reply to Dateinübergreifender Zugriff auf Objekt on Fri, 23 Sep 2005 18:06:55 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39242" rel="nofollow">Variablenübergabe an andere Form</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/878800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878800</guid><dc:creator><![CDATA[wedmer]]></dc:creator><pubDate>Fri, 23 Sep 2005 18:06:55 GMT</pubDate></item></channel></rss>