<?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[public vererbt zu public und protected]]></title><description><![CDATA[<p>Grüsse zusammen,</p>
<p>Hätte jetzt am liebsten &quot;Problem bei Veerbung&quot; geschrieben, doch leider steht des schon da *grml* ^^<br />
So musste ich halt was sinnvolleres finden.</p>
<p>Ich habe eigentlich ein simples Problem und trotzdem sehe ich keine Lösung. Ich zeige des mal an einem Beispiel:</p>
<p>Ich habe eine BaseClass mit zwei Public Member-Funktionen.</p>
<pre><code class="language-cpp">class CBaseclass
{
    // Konstruktoren und Destruktoren und bla bla bla 
    // Funktionen //
public:
    func1();
    func2();
}
</code></pre>
<p>Dann habe ich eine abgeleitet Klasse. In dieser möchte ich nun func1 weiterhin als public haben und func2 neu als protected. Dass heisst ich kann die neue Klasse weder als public noch als protected von der CBaseclass ableiten. Ist das überhaupt möglich? Oder muss ich da eine andere Lösung finden?</p>
<p>Und noch eine Bonusfrage:<br />
Wenn ich ein operator = definiere in einer Basisklasse, dann eine neue Klasse ableite von der Basisklasse, muss ich dann den operator = ganz neu schreiben? Gibt es da keine möglichkeit zumindest für die Werte der Basisklasse, den Basisoperator aufzurufen?</p>
<p>Danke im voraus!</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147446/public-vererbt-zu-public-und-protected</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 05:39:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147446.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 May 2006 23:27:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to public vererbt zu public und protected on Tue, 16 May 2006 23:27:00 GMT]]></title><description><![CDATA[<p>Grüsse zusammen,</p>
<p>Hätte jetzt am liebsten &quot;Problem bei Veerbung&quot; geschrieben, doch leider steht des schon da *grml* ^^<br />
So musste ich halt was sinnvolleres finden.</p>
<p>Ich habe eigentlich ein simples Problem und trotzdem sehe ich keine Lösung. Ich zeige des mal an einem Beispiel:</p>
<p>Ich habe eine BaseClass mit zwei Public Member-Funktionen.</p>
<pre><code class="language-cpp">class CBaseclass
{
    // Konstruktoren und Destruktoren und bla bla bla 
    // Funktionen //
public:
    func1();
    func2();
}
</code></pre>
<p>Dann habe ich eine abgeleitet Klasse. In dieser möchte ich nun func1 weiterhin als public haben und func2 neu als protected. Dass heisst ich kann die neue Klasse weder als public noch als protected von der CBaseclass ableiten. Ist das überhaupt möglich? Oder muss ich da eine andere Lösung finden?</p>
<p>Und noch eine Bonusfrage:<br />
Wenn ich ein operator = definiere in einer Basisklasse, dann eine neue Klasse ableite von der Basisklasse, muss ich dann den operator = ganz neu schreiben? Gibt es da keine möglichkeit zumindest für die Werte der Basisklasse, den Basisoperator aufzurufen?</p>
<p>Danke im voraus!</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1059210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1059210</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 16 May 2006 23:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to public vererbt zu public und protected on Wed, 17 May 2006 01:29:25 GMT]]></title><description><![CDATA[<p>zu 1)<br />
Ich denke, dass es nicht geht. Zumindest bei Delphi ist es so, dass man den Sichtbarkeitsgrad einer Funktion nicht senken kann. Also, aus einer public-Funktion kann man keine private oder protected machen.<br />
Das macht auch wenig Sinn, da man ja einfach ein Objekt der abgeleiteten Klassen casten kann und so die Funktion aus der Basisklasse heraus aufrufen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1059214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1059214</guid><dc:creator><![CDATA[SomeBody]]></dc:creator><pubDate>Wed, 17 May 2006 01:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to public vererbt zu public und protected on Wed, 17 May 2006 06:06:58 GMT]]></title><description><![CDATA[<p>Ich bin mir nicht ganz sicher, ob das was bringt, aber versuch's mal mit folgender Konstruktion:</p>
<pre><code class="language-cpp">class Derived : protected CBaseclass
{
  //alle Funktionen sind werden als protected geerbt
public:
  using CBaseclass::func1;//func1 hochstufen auf public
};
</code></pre>
<p>Zum zweiten: Du könntest am Anfang des eigenen op= den Basisoperator direkt aufrufen:</p>
<pre><code class="language-cpp">Derived&amp; operator=(const Derived&amp; from)
{
  Base::operator=(from);
  //eigene Verarbeitung
  return *this;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1059247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1059247</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 17 May 2006 06:06:58 GMT</pubDate></item><item><title><![CDATA[Reply to public vererbt zu public und protected on Wed, 17 May 2006 06:35:44 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<pre><code class="language-cpp">public:
  using CBaseclass::func1;//func1 hochstufen auf public
</code></pre>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> Genial <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1059262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1059262</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 17 May 2006 06:35:44 GMT</pubDate></item><item><title><![CDATA[Reply to public vererbt zu public und protected on Wed, 17 May 2006 08:25:22 GMT]]></title><description><![CDATA[<p>wirklich genial! Das kann ich dringend und sehr gut gebrauchen. Vielen dank. Und das mit dem operator funktioniert auch. Jetzt hab ich nur noch eine Frage, doch die setz ich in nen neuen Thread, der Übersichts halber, bzw. suche zuerst nochmals im Forum danach ^^</p>
<p>Grüssli und danke nochmals</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1059322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1059322</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 17 May 2006 08:25:22 GMT</pubDate></item></channel></rss>