<?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[Vererbungs Problem]]></title><description><![CDATA[<p>Hallo mit einander,</p>
<p>habe wie folgt zwei Klassen:</p>
<pre><code>class A {
  A(){};
  ~A(){};
  void virtual foo() {
     //FOOA hier einige Zeilen Code
  }
};

class B : public A {
  B(){};
  ~B(){};
  void foo() {
     //FOOB hier noch mehr Zeilen Code
  }
};
</code></pre>
<p>Nun möchte ich bei meiner B-Klasse die Methode foo() aufrufen, was wiederum den Code //FOOB aufruft. Kann man es irgendwie hinbekommen, dass er auch den ganzen Code von foo() aus A ( also den //FOOA Code ) aufruft ohne den Code zu duplizieren?</p>
<p>Ich hoffe mein anliegen ist verständlich geworden.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/315833/vererbungs-problem</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Jul 2026 13:08:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/315833.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Apr 2013 13:23:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbungs Problem on Sat, 13 Apr 2013 13:23:54 GMT]]></title><description><![CDATA[<p>Hallo mit einander,</p>
<p>habe wie folgt zwei Klassen:</p>
<pre><code>class A {
  A(){};
  ~A(){};
  void virtual foo() {
     //FOOA hier einige Zeilen Code
  }
};

class B : public A {
  B(){};
  ~B(){};
  void foo() {
     //FOOB hier noch mehr Zeilen Code
  }
};
</code></pre>
<p>Nun möchte ich bei meiner B-Klasse die Methode foo() aufrufen, was wiederum den Code //FOOB aufruft. Kann man es irgendwie hinbekommen, dass er auch den ganzen Code von foo() aus A ( also den //FOOA Code ) aufruft ohne den Code zu duplizieren?</p>
<p>Ich hoffe mein anliegen ist verständlich geworden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2315208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2315208</guid><dc:creator><![CDATA[akoww]]></dc:creator><pubDate>Sat, 13 Apr 2013 13:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbungs Problem on Sat, 13 Apr 2013 13:29:09 GMT]]></title><description><![CDATA[<pre><code>// in B::foo():
A::foo();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2315210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2315210</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sat, 13 Apr 2013 13:29:09 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbungs Problem on Sat, 13 Apr 2013 13:34:47 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<pre><code>// in B::foo():
A::foo();
</code></pre>
</blockquote>
<p>Arg, dachte immer damit kann man nur static methoden aufrufen. Danke für die schnelle Antwort <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/2315211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2315211</guid><dc:creator><![CDATA[akoww]]></dc:creator><pubDate>Sat, 13 Apr 2013 13:34:47 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbungs Problem on Sun, 14 Apr 2013 06:59:43 GMT]]></title><description><![CDATA[<p>C++-Bashing gelöscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2315305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2315305</guid><dc:creator><![CDATA[Wutz]]></dc:creator><pubDate>Sun, 14 Apr 2013 06:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbungs Problem on Sat, 13 Apr 2013 20:47:20 GMT]]></title><description><![CDATA[<p>Wutz schrieb:</p>
<blockquote>
<p>Was machst du z.B. wenn sich deine Klassenhierarchie mal ändert?<br />
Viel Spaß beim Ändern all dieser expliziten Referenzen ala baseclass:: usw.</p>
</blockquote>
<pre><code>typedef A Baseclass;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2315308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2315308</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 13 Apr 2013 20:47:20 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbungs Problem on Sat, 13 Apr 2013 21:10:33 GMT]]></title><description><![CDATA[<p>Wutz schrieb:</p>
<blockquote>
<p>Was machst du z.B. wenn sich deine Klassenhierarchie mal ändert?<br />
Viel Spaß beim Ändern all dieser expliziten Referenzen ala baseclass:: usw.</p>
</blockquote>
<p>ab in die c-ecke, schämen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2315310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2315310</guid><dc:creator><![CDATA[schwarz0r pet0r]]></dc:creator><pubDate>Sat, 13 Apr 2013 21:10:33 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbungs Problem on Sun, 14 Apr 2013 06:31:53 GMT]]></title><description><![CDATA[<p>Wutz schrieb:</p>
<blockquote>
<p>Es ist gerade Sinn und Zweck der Vererbung, den geerbten Code eben nicht zu &quot;duplizieren&quot;.<br />
Vernünftige OOP Sprachen (nicht C++) stellen für diese OOP-Trivialanforderung auch vernünftige Sprachmittel zur Verfügung, hierfür natürlich OHNE explizite Angabe der verwendeten Basisklasse. Was machst du z.B. wenn sich deine Klassenhierarchie mal ändert?<br />
Viel Spaß beim Ändern all dieser expliziten Referenzen ala baseclass:: usw.</p>
</blockquote>
<p>So was Dämliches hab ich länger nicht mehr gelesen. Wie stellst du dir das vor, wenn eine Klasse mal mehrere Basisklassen hat?</p>
<p>Im Übrigen ist Sinn und Zweck (öffentlicher) Vererbung nicht die Vermeidung von Codeduplikation, sondern die Modellierung einer ist-ein-Beziehung (Stichwort <a href="https://de.wikipedia.org/wiki/Liskovsches_Substitutionsprinzip" rel="nofollow">Liskov-Substitution</a>). Wenn es darum geht, sich nicht zu wiederholen, ist Komposition in der großen Mehrzahl der Fälle der bessere Weg.</p>
<p>schwarz0r pet0r schrieb:</p>
<blockquote>
<p>ab in die c-ecke, schämen!</p>
</blockquote>
<p>Nach dem Ausbruch würde ich eher &quot;ab in die Java-Ecke&quot; sagen. In der C-Ecke redet der ja auch nur Stuss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2315321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2315321</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Sun, 14 Apr 2013 06:31:53 GMT</pubDate></item></channel></rss>