<?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 Vererbung]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>es sei;</p>
<pre><code class="language-cpp">class B : private A {
...
}
</code></pre>
<p>Kann ich dann innerhalb von B den this Zeiger einer Funktion übergeben die ein A erwartet? Das sollte doch gehen!</p>
<p>Vielen Dank</p>
<p>Peter</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/258558/private-vererbung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 09:11:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/258558.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Jan 2010 08:48:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Private Vererbung on Tue, 12 Jan 2010 08:48:48 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>es sei;</p>
<pre><code class="language-cpp">class B : private A {
...
}
</code></pre>
<p>Kann ich dann innerhalb von B den this Zeiger einer Funktion übergeben die ein A erwartet? Das sollte doch gehen!</p>
<p>Vielen Dank</p>
<p>Peter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837328</guid><dc:creator><![CDATA[-----]]></dc:creator><pubDate>Tue, 12 Jan 2010 08:48:48 GMT</pubDate></item><item><title><![CDATA[Reply to Private Vererbung on Tue, 12 Jan 2010 08:50:34 GMT]]></title><description><![CDATA[<p>Warum probierst dus nicht aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837330</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 12 Jan 2010 08:50:34 GMT</pubDate></item><item><title><![CDATA[Reply to Private Vererbung on Tue, 12 Jan 2010 08:55:56 GMT]]></title><description><![CDATA[<p>----- schrieb:</p>
<blockquote>
<p>es sei;</p>
<pre><code class="language-cpp">class B : private A {
...
}
</code></pre>
<p>Kann ich dann innerhalb von B den this Zeiger einer Funktion übergeben die ein A erwartet? Das sollte doch gehen!</p>
</blockquote>
<p>Der this-Zeiger wird an Funktionen implizit übergeben, wenn du den Zugriff auf Funktionen in A durch B meinst.<br />
Wenn du aber meinst, du kannst einer FUnktion, die ein A explizit erwartet ein B unterjubeln geht das definitiv nicht! Die private-Vererbung macht B nicht zu einem A (außer für als friend deklarierte Funktionen/Klassen), es macht nur Funktionen (public und protected) aus A direkt sichtbar in B.<br />
Private Vererbung solltest du aber echt nur machen, wenn du nicht B als A ausweisen willst, aber von B aus Zugriff auf den protected-Bereich von A brauchst.<br />
Für alle anderen Fälle wäre Komposition besser als private-Vererbung:</p>
<pre><code class="language-cpp">class B {
    A a;
public:
    /** interface goes here */
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1837334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837334</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Tue, 12 Jan 2010 08:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to Private Vererbung on Tue, 12 Jan 2010 09:16:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// def ist irgendwo anders definiert.
int def(A objA);

class B : private A {
int abc() {
def(this);
}
}
</code></pre>
<p>Das wollte ich machen. Ich setze es dann um.<br />
Ok, vielen Dank l'abra d'or <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837346</guid><dc:creator><![CDATA[-----]]></dc:creator><pubDate>Tue, 12 Jan 2010 09:16:21 GMT</pubDate></item><item><title><![CDATA[Reply to Private Vererbung on Tue, 12 Jan 2010 10:09:43 GMT]]></title><description><![CDATA[<p>l'abra d'or schrieb:</p>
<blockquote>
<p>Wenn du aber meinst, du kannst einer FUnktion, die ein A explizit erwartet ein B unterjubeln geht das definitiv nicht! Die private-Vererbung macht B nicht zu einem A (außer für als friend deklarierte Funktionen/Klassen)</p>
</blockquote>
<p>Und für B selber eben auch. Soll heißen ein B kann sich selbst (oder ein anderes <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> als A ausgeben und an Funktionen übergeben, die ein A erwarten. So dass das was ---- vorhat funktioniert. Wobei die Übergabe per value slicing zur Folge hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837381</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 12 Jan 2010 10:09:43 GMT</pubDate></item></channel></rss>