<?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[bekannte elemente der einen in der anderen klasse]]></title><description><![CDATA[<p>Hallo</p>
<p>es geht darum</p>
<p>ich habe klasse A diese hat members und methoden, in einer methode ruf ich eine methode von klasse B auf, und klasse B soll nun zugriff auf die members von klasse A haben,<br />
ich weiss nicht wie ich das realisieren soll</p>
<p>A.h</p>
<pre><code class="language-cpp">#include &quot;B.h&quot;

class A{
private:
    B b;
    int i=0;

    void DoSomething();
};
</code></pre>
<p>A.cpp</p>
<pre><code class="language-cpp">void A::DoSomething(){
    b.doSo();
}
</code></pre>
<p>B.h</p>
<pre><code class="language-cpp">class B{
public:
    void doSo();
};
</code></pre>
<p>B.cpp</p>
<pre><code class="language-cpp">void B.doSo(){
    int j = i;
}
</code></pre>
<p>ich hab schon versucht einen pointer der klasse A zu uebergeben, aber ich kann in klasse B der methode keine attribute dieser art angeben.</p>
<p>irgendwie steh ich da auf den schlauch</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179292/bekannte-elemente-der-einen-in-der-anderen-klasse</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 06:06:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179292.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Apr 2007 08:14:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bekannte elemente der einen in der anderen klasse on Fri, 20 Apr 2007 08:14:37 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>es geht darum</p>
<p>ich habe klasse A diese hat members und methoden, in einer methode ruf ich eine methode von klasse B auf, und klasse B soll nun zugriff auf die members von klasse A haben,<br />
ich weiss nicht wie ich das realisieren soll</p>
<p>A.h</p>
<pre><code class="language-cpp">#include &quot;B.h&quot;

class A{
private:
    B b;
    int i=0;

    void DoSomething();
};
</code></pre>
<p>A.cpp</p>
<pre><code class="language-cpp">void A::DoSomething(){
    b.doSo();
}
</code></pre>
<p>B.h</p>
<pre><code class="language-cpp">class B{
public:
    void doSo();
};
</code></pre>
<p>B.cpp</p>
<pre><code class="language-cpp">void B.doSo(){
    int j = i;
}
</code></pre>
<p>ich hab schon versucht einen pointer der klasse A zu uebergeben, aber ich kann in klasse B der methode keine attribute dieser art angeben.</p>
<p>irgendwie steh ich da auf den schlauch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269793</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 20 Apr 2007 08:14:37 GMT</pubDate></item><item><title><![CDATA[Reply to bekannte elemente der einen in der anderen klasse on Fri, 20 Apr 2007 08:22:38 GMT]]></title><description><![CDATA[<p>Die schnellste Möglichkeit wäre natürlich, B zum friend von A zu machen. Allerdings solltest du dich fragen, ob B überhaupt auf die privaten Member von A zugreifen muss oder ob man das irgendwie vermeiden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269797</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Fri, 20 Apr 2007 08:22:38 GMT</pubDate></item><item><title><![CDATA[Reply to bekannte elemente der einen in der anderen klasse on Fri, 20 Apr 2007 08:31:04 GMT]]></title><description><![CDATA[<p>er muss definitiv zugreifen laesst sich nicht vermeiden</p>
<p>das mit friend dachte ich auch so - aber in der B klasse ist klasse A die ganze zeit unbekannt - demzufolge kann ich da auf nichts zugreifen</p>
<p>B ist ja eine unterklasse von A<br />
in der B.h kann ich ja nichtmal den header von klasse A inkludieren - wuerde sich logischerweise im kreis drehen daher nur fehler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269804</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 20 Apr 2007 08:31:04 GMT</pubDate></item><item><title><![CDATA[Reply to bekannte elemente der einen in der anderen klasse on Fri, 20 Apr 2007 08:42:20 GMT]]></title><description><![CDATA[<p>A ist nicht unbekannt (wenn doch, brauchst du eventuell Forward Deklarationen, um die Klassen wechselseitig bekannt zu machen ;)). Aber B muß wissen, auf welches A-Objekt es zugreifen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269812</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 Apr 2007 08:42:20 GMT</pubDate></item><item><title><![CDATA[Reply to bekannte elemente der einen in der anderen klasse on Fri, 20 Apr 2007 09:47:14 GMT]]></title><description><![CDATA[<p>forward declaration geht nicht, da ich die haeder von klasse A nicht in B includieren kann</p>
<p>ich habe es eben mit einer kleinen solution getestet, da geht es mit dem includieren</p>
<p>das problem ist, in meiner app brauch ich #pragma once in der header von klasse a<br />
wenn ich nu fuer klasse B die header von A includieren will - kennt er die klasse trotzdem nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269835</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 20 Apr 2007 09:47:14 GMT</pubDate></item><item><title><![CDATA[Reply to bekannte elemente der einen in der anderen klasse on Fri, 20 Apr 2007 09:45:53 GMT]]></title><description><![CDATA[<p>Forward-Deklaration kannst du verwenden, anstatt den Header einzubinden:</p>
<pre><code class="language-cpp">//A.h
#include &quot;B.h&quot;

class A
{
public:
  B val;//das braucht die komplette Definition
  int i;
  void do_something();
};

//A.cpp
#inlcude &quot;A.h&quot;
void A::do_something()
{ val.do_it(*this); }

//B.h
class A;//Forward-Deklaration reicht

class B
{
public:
  void do_it(A&amp; who);//B::do_it() muß wissen, wessen Werte es ändern soll ;)
};

//B.cpp
#include &quot;B.h&quot;
#include &quot;A.h&quot;
void B::do_it(A&amp; who)
{ who.i=4711; }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1269845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269845</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 Apr 2007 09:45:53 GMT</pubDate></item><item><title><![CDATA[Reply to bekannte elemente der einen in der anderen klasse on Fri, 20 Apr 2007 09:49:00 GMT]]></title><description><![CDATA[<p>aaaaaah - genau das brauchte ich - dankeschoen {= das rettet mich {=</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269849</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 20 Apr 2007 09:49:00 GMT</pubDate></item></channel></rss>