<?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[Frage zur Vererbung]]></title><description><![CDATA[<p>Sollte man eine Klasse immer zusammen mit ihrer implementierung in eine Header Datei schreiben? (oder die Implementierung in den Source verlagern?) weil, wenn man sie als Basisklasse benutzen will, muss man sonst schließlich alle Methoden neu implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247166/frage-zur-vererbung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 16:55:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247166.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Aug 2009 06:35:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 06:35:28 GMT]]></title><description><![CDATA[<p>Sollte man eine Klasse immer zusammen mit ihrer implementierung in eine Header Datei schreiben? (oder die Implementierung in den Source verlagern?) weil, wenn man sie als Basisklasse benutzen will, muss man sonst schließlich alle Methoden neu implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756695</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Fri, 07 Aug 2009 06:35:28 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 06:39:01 GMT]]></title><description><![CDATA[<p>skullyan schrieb:</p>
<blockquote>
<p>weil, wenn man sie als Basisklasse benutzen will, muss man sonst schließlich alle Methoden neu implementieren.</p>
</blockquote>
<p>Nö muss man echt nicht.... Wie kommst du darauf?<br />
Das einzigste was im Header stehen muss, ist die implementierung eines <strong>templates</strong>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756698</guid><dc:creator><![CDATA[Orakel-Joe]]></dc:creator><pubDate>Fri, 07 Aug 2009 06:39:01 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 06:42:37 GMT]]></title><description><![CDATA[<p>Das mache ich nicht einheitlich. Template-Sachen stehen eh im Header. Im Header lasse ich auch triviale Sachen, Einzeiler und so. Außerdem fangen bei mir die allermeisten Methoden im Header an und wandern erst nach ein oder zwei Wochen aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756699</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 07 Aug 2009 06:42:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 06:56:36 GMT]]></title><description><![CDATA[<p>Orakel-Joe schrieb:</p>
<blockquote>
<p>skullyan schrieb:</p>
<blockquote>
<p>weil, wenn man sie als Basisklasse benutzen will, muss man sonst schließlich alle Methoden neu implementieren.</p>
</blockquote>
<p>Nö muss man echt nicht.... Wie kommst du darauf?[...]</p>
</blockquote>
<p>Dachte ich, weil ich ja bei der abgeleiteten Klasse nur den Header inklude. Und wenn die Implementierungen dann im Source stehen, hat man doch keinen Zugriff darauf. Oder hab ich etwas verpasst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756703</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Fri, 07 Aug 2009 06:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 07:05:00 GMT]]></title><description><![CDATA[<p>Wieso? Wenn du nicht ableitest, sondern eine Klasse/Funktion/... nur benutzt, reicht doch auch ein include, und trotzdem wird die Implementierung aus dem *.cpp gefunden und verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756712</guid><dc:creator><![CDATA[Orakel-Joe]]></dc:creator><pubDate>Fri, 07 Aug 2009 07:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 07:17:47 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Im Header lasse ich auch triviale Sachen, Einzeiler und so. Außerdem fangen bei mir die allermeisten Methoden im Header an und wandern erst nach ein oder zwei Wochen aus.</p>
</blockquote>
<p>Und dann wird jedesmal die ganze Welt neu gebaut, wenn irgendwann[TM] aus dem Einzeiler ein Zehnzeiler wird und du die Methode umziehst? Bei kleineren Projekten und/oder Randkomponenten die nicht viel genutzt werden mag das gehen, aber bei größeren Projekten kann das tödlich werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756721</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 07 Aug 2009 07:17:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 08:48:33 GMT]]></title><description><![CDATA[<p>skullyan schrieb:</p>
<blockquote>
<p>Orakel-Joe schrieb:</p>
<blockquote>
<p>skullyan schrieb:</p>
<blockquote>
<p>weil, wenn man sie als Basisklasse benutzen will, muss man sonst schließlich alle Methoden neu implementieren.</p>
</blockquote>
<p>Nö muss man echt nicht.... Wie kommst du darauf?[...]</p>
</blockquote>
<p>Dachte ich, weil ich ja bei der abgeleiteten Klasse nur den Header inklude. Und wenn die Implementierungen dann im Source stehen, hat man doch keinen Zugriff darauf. Oder hab ich etwas verpasst?</p>
</blockquote>
<p>Offensichtlich hast Du etwas verpasst. Die Source, in der die Implementierung für Deine Klasse steht, muß kompiliert werden, und die resultierende Objektdatei muß Deiner Anwendung hinzugelinkt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756768</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Fri, 07 Aug 2009 08:48:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 10:07:04 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>skullyan schrieb:</p>
<blockquote>
<p>Orakel-Joe schrieb:</p>
<blockquote>
<p>skullyan schrieb:</p>
<blockquote>
<p>weil, wenn man sie als Basisklasse benutzen will, muss man sonst schließlich alle Methoden neu implementieren.</p>
</blockquote>
<p>Nö muss man echt nicht.... Wie kommst du darauf?[...]</p>
</blockquote>
<p>Dachte ich, weil ich ja bei der abgeleiteten Klasse nur den Header inklude. Und wenn die Implementierungen dann im Source stehen, hat man doch keinen Zugriff darauf. Oder hab ich etwas verpasst?</p>
</blockquote>
<p>Offensichtlich hast Du etwas verpasst. Die Source, in der die Implementierung für Deine Klasse steht, muß kompiliert werden, und die resultierende Objektdatei muß Deiner Anwendung hinzugelinkt werden.</p>
</blockquote>
<p>Habe ich mir gedacht.. Wenn aber in beiden Dateien je eine main() Funktion definiert ist, sagt der Compiler natürlich, das Sie nicht überladen werden darf. D.h. man muss in die Source NUR die Implementierungen reinschreiben? Wie sieht so eine Source aus? Kannst Du mir mal ein Beispiel geben?</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756809</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Fri, 07 Aug 2009 10:07:04 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 12:25:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">/* func.h /*

int addiere(int a, int b);
</code></pre>
<pre><code class="language-cpp">/* func.cpp */
#include &quot;func.h&quot;

int addiere(int a, int b)
{
   return a + b;
}
</code></pre>
<pre><code class="language-cpp">/* main.cpp */
#include &lt;iostream&gt;
#include &quot;func.h&quot;

int main()
{
    std::cout &lt;&lt; addiere(3, 5) &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1756910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756910</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Fri, 07 Aug 2009 12:25:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Vererbung on Fri, 07 Aug 2009 14:09:14 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<pre><code class="language-cpp">/* func.h /*

int addiere(int a, int b);
</code></pre>
<pre><code class="language-cpp">/* func.cpp */
#include &quot;func.h&quot;

int addiere(int a, int b)
{
   return a + b;
}
</code></pre>
<pre><code class="language-cpp">/* main.cpp */
#include &lt;iostream&gt;
#include &quot;func.h&quot;

int main()
{
    std::cout &lt;&lt; addiere(3, 5) &lt;&lt; std::endl;
}
</code></pre>
</blockquote>
<p>Hey, simpler als erwartet. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756980</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Fri, 07 Aug 2009 14:09:14 GMT</pubDate></item></channel></rss>