<?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[private]]></title><description><![CDATA[<p>Hey ihr,</p>
<p>Ich habe mal eine Frage zum Folgenden Code:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;
class Hallo
{
   private:
      int a;
   public:
      Hallo(int aa) : a(aa) {   }
      void funktion(Hallo&amp; h)
      {
         cout &lt;&lt; h.a &lt;&lt; endl;
      }
};
int main()
{
   Hallo h(2);
   Hallo b(2);
   b.funktion(h);   
}
</code></pre>
<p>Und zwar wundert mich, warum das Objekt b auf private-Elemente des Objektes h zugreifen darf.<br />
Ich hatte bisher oft so gearbeitet- doch jetzt ist mir gerade aufgefallen, dass das ja geht und ichs komisch finde.<br />
Woran liegt das?</p>
<p>cya<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205982/private</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 00:19:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205982.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Feb 2008 07:47:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to private on Wed, 20 Feb 2008 07:47:51 GMT]]></title><description><![CDATA[<p>Hey ihr,</p>
<p>Ich habe mal eine Frage zum Folgenden Code:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;
class Hallo
{
   private:
      int a;
   public:
      Hallo(int aa) : a(aa) {   }
      void funktion(Hallo&amp; h)
      {
         cout &lt;&lt; h.a &lt;&lt; endl;
      }
};
int main()
{
   Hallo h(2);
   Hallo b(2);
   b.funktion(h);   
}
</code></pre>
<p>Und zwar wundert mich, warum das Objekt b auf private-Elemente des Objektes h zugreifen darf.<br />
Ich hatte bisher oft so gearbeitet- doch jetzt ist mir gerade aufgefallen, dass das ja geht und ichs komisch finde.<br />
Woran liegt das?</p>
<p>cya<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459226</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Wed, 20 Feb 2008 07:47:51 GMT</pubDate></item><item><title><![CDATA[Reply to private on Wed, 20 Feb 2008 07:50:08 GMT]]></title><description><![CDATA[<p>Zugriffsbeschränkung bezieht sich auf die Klasse, nicht auf das Objekt. Sprich alles in class Hallo darf an private Daten der Klasse Hallo, unabhängig von konkreten Instanzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459227</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 20 Feb 2008 07:50:08 GMT</pubDate></item><item><title><![CDATA[Reply to private on Wed, 20 Feb 2008 08:49:22 GMT]]></title><description><![CDATA[<p>Was beim genaueren Nachdenken besonders viel Sinn im Bezug auf Copy-Konstruktoren und -Operatoren macht. <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459249</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 20 Feb 2008 08:49:22 GMT</pubDate></item><item><title><![CDATA[Reply to private on Wed, 20 Feb 2008 08:57:00 GMT]]></title><description><![CDATA[<p>Wow- das Fellhuhn hat sogar erraten, wie ich überhaupt auf die Idee gekommen bin hier nachzufragen.<br />
War grad nen Zuweisungsoperator am schreiben als es mir auffiel.</p>
<p>Aber wo ich jetzt schon hier Fragen zum Zugriffsspezifizierer stelle:</p>
<p><strong>private Elemente werden nicht mitvererbt, oder?</strong></p>
<p>cya<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459252</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Wed, 20 Feb 2008 08:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to private on Wed, 20 Feb 2008 09:05:23 GMT]]></title><description><![CDATA[<p>777 schrieb:</p>
<blockquote>
<p><strong>private Elemente werden nicht mitvererbt, oder?</strong></p>
</blockquote>
<p>Doch natürlich werden sie mitvererbt, sonst hätten die geerbten Methoden der Basisklasse große Probleme, diese Elemente anzusprechen. Allerdings sind private Basisklassenelemente in der abgeleiteten Klasse nicht zugreifbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459260</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 20 Feb 2008 09:05:23 GMT</pubDate></item><item><title><![CDATA[Reply to private on Wed, 20 Feb 2008 09:06:22 GMT]]></title><description><![CDATA[<p>okay verstanden- ist ja auch logisch- hatte grad mal mit sizeof den Test gemacht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459261</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Wed, 20 Feb 2008 09:06:22 GMT</pubDate></item><item><title><![CDATA[Reply to private on Wed, 20 Feb 2008 09:10:46 GMT]]></title><description><![CDATA[<p>777 schrieb:</p>
<blockquote>
<p><strong>private Elemente werden nicht mitvererbt, oder?</strong></p>
</blockquote>
<p>Klares jein: Sie werden insofern mitvererbt, als dass Objekte abgeleiteter Klassen ein komplettes Unterobjekt der Basisklasse beinhalten, und damit auch deren private Member. Sie werden insofern NICHT mitvererbt, als die abgeleitete Klasse keinerlei Zugriff auf die privaten Member der Basisklasse hat. Allerdings sind die privaten Member der Basisklasse in der abgeleiteten Klasse (wie in jedem sonstigen Code der die Definition der Basisklasse kennt) sichtbar:</p>
<pre><code class="language-cpp">class B {
private:
  int a;
};

class D : public B {
  void foo() {a = 4;}
};
</code></pre>
<p>Der Compiler wird hier nicht bemaengeln, dass a nicht bekannt ist, da er a durchaus findet, naemlich in B. Beim Check auf Zugriffsberechtigung wird er dann bemaengeln, dass a private in B ist und D deshalb keinen Zugriff bekommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459264</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 20 Feb 2008 09:10:46 GMT</pubDate></item><item><title><![CDATA[Reply to private on Wed, 20 Feb 2008 09:15:25 GMT]]></title><description><![CDATA[<p>ohh doch stimmt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459268</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Wed, 20 Feb 2008 09:15:25 GMT</pubDate></item></channel></rss>