<?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[Friend Klasse auf sich möglich?]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich grüble gerade darüber nach, wie ich auf private Member der gleichen Klasse aus 2 verschiedenen Objekten zugreifen kann, wenn ich diese nicht nach außen (z.B. via public) zugreifbar machen will.</p>
<p>Hier ein Bsp. in Pseudocode:</p>
<pre><code class="language-cpp">class RegionC
{
    public:
        RegionC() : region(NULL) { region = NewRegion(); }
        RegionC(struct Region *region) { this-&gt;region = region; }
        ~RegionC() { if (region != NULL) DisposeRegion(region); }

        void andNewRegion(const RegionC&amp; newRegion)
        {
             // hier möchte ich auf die struct Region des anderen RegionC-Objektes zugreifen
             // ginge das auch ohne public Getter mittels Friend-Mechanismus, oder wäre hier
             // was ganz Anderes angebracht
             if ((region != NULL) &amp;&amp; (newRegion.region != NULL)) 
                 AndRegionRegion(newRegion.region, region);
        }

        private:
           struct Region *region;
];
</code></pre>
<p>Hoffe, das Problem kommt rüber (Frage ist im Kommentar gestellt)!</p>
<p>Habe aber noch ein grundsätzliches Problem: Ich tue mich mit dem Design im Rahmen von C++ elend schwer (bin alter Java-Programmierer).<br />
Komme da nur zäh voran, v.a. was die ganzen Möglichkeiten von Referenzen, Templates, Friend, Exceptions usw. anbelangt (finde Java an diesen Stellen einfacher und klarer strukturiert - möchte nun aber gern C++ lernen). Habe auch einige Wälzer hier, in die ich immer wieder mal reinsehe. Beim Umsetzen komme ich aber nur kaum bzw. zäh voran und strukturiere alles immer wieder mal um!</p>
<p>Habt ihr hier noch gute Best Practices, Links o.ä.?</p>
<p>Danke schon mal!</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/287858/friend-klasse-auf-sich-möglich</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 06:02:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/287858.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 Jun 2011 21:12:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Friend Klasse auf sich möglich? on Sun, 05 Jun 2011 21:12:54 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich grüble gerade darüber nach, wie ich auf private Member der gleichen Klasse aus 2 verschiedenen Objekten zugreifen kann, wenn ich diese nicht nach außen (z.B. via public) zugreifbar machen will.</p>
<p>Hier ein Bsp. in Pseudocode:</p>
<pre><code class="language-cpp">class RegionC
{
    public:
        RegionC() : region(NULL) { region = NewRegion(); }
        RegionC(struct Region *region) { this-&gt;region = region; }
        ~RegionC() { if (region != NULL) DisposeRegion(region); }

        void andNewRegion(const RegionC&amp; newRegion)
        {
             // hier möchte ich auf die struct Region des anderen RegionC-Objektes zugreifen
             // ginge das auch ohne public Getter mittels Friend-Mechanismus, oder wäre hier
             // was ganz Anderes angebracht
             if ((region != NULL) &amp;&amp; (newRegion.region != NULL)) 
                 AndRegionRegion(newRegion.region, region);
        }

        private:
           struct Region *region;
];
</code></pre>
<p>Hoffe, das Problem kommt rüber (Frage ist im Kommentar gestellt)!</p>
<p>Habe aber noch ein grundsätzliches Problem: Ich tue mich mit dem Design im Rahmen von C++ elend schwer (bin alter Java-Programmierer).<br />
Komme da nur zäh voran, v.a. was die ganzen Möglichkeiten von Referenzen, Templates, Friend, Exceptions usw. anbelangt (finde Java an diesen Stellen einfacher und klarer strukturiert - möchte nun aber gern C++ lernen). Habe auch einige Wälzer hier, in die ich immer wieder mal reinsehe. Beim Umsetzen komme ich aber nur kaum bzw. zäh voran und strukturiere alles immer wieder mal um!</p>
<p>Habt ihr hier noch gute Best Practices, Links o.ä.?</p>
<p>Danke schon mal!</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2073816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2073816</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Sun, 05 Jun 2011 21:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to Friend Klasse auf sich möglich? on Sun, 05 Jun 2011 21:17:14 GMT]]></title><description><![CDATA[<p>Ich verstehe dich nicht, du hast doch Zugriff auf die <code>private</code> -Elemente innerhalb der gleichen Klasse. Wieso kommst du nun plötzlich auf <code>friend</code> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2073817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2073817</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Sun, 05 Jun 2011 21:17:14 GMT</pubDate></item><item><title><![CDATA[Reply to Friend Klasse auf sich möglich? on Sun, 05 Jun 2011 21:16:27 GMT]]></title><description><![CDATA[<p>Sich selber als friend zu definieren ist nicht notwendig - die Klasse kann auch so auf ihre eigenen privaten Elemente zugreifen (sowohl die von this als auf von anderen Objekten).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2073818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2073818</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 05 Jun 2011 21:16:27 GMT</pubDate></item><item><title><![CDATA[Reply to Friend Klasse auf sich möglich? on Sun, 05 Jun 2011 22:18:11 GMT]]></title><description><![CDATA[<p>Reth schrieb:</p>
<blockquote>
<p>(bin alter Java-Programmierer).</p>
<p>...</p>
<p>Habt ihr hier noch gute Best Practices, Links o.ä.?</p>
</blockquote>
<p>Hmm:<br />
- Wenn du new regelmäßig benutzt, dann ist das ein Zeichen, dass du deine Java-Herkunft nicht abgelegt hast.<br />
- Wenn du Pointer regelmäßig benutzt ebenfalls<br />
- Manche würden das auch von ellenlangen Klassenhierarchien sagen<br />
- Außerdem solltest du dir mal angucken, was RAII bedeutet, das ist eine wichtige Programmiertechnik, die es so in Java nicht gibt.<br />
- Lies die Bücher von Scott Meyers zu effektivem C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2073842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2073842</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 05 Jun 2011 22:18:11 GMT</pubDate></item></channel></rss>