<?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[Problem mit virtuellen Methoden und die Implementierungen]]></title><description><![CDATA[<p>Bei einer abstrakten Basisklasse habe ich:</p>
<pre><code class="language-cpp">virtual void f() = 0 {}
</code></pre>
<p>Muss da unbedingt die Implementation von f sein?<br />
Wenn ich schreibe:</p>
<pre><code class="language-cpp">virtual void f() = 0;
</code></pre>
<p>meckert der Compiler wenn p_base-&gt;f() aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/207810/problem-mit-virtuellen-methoden-und-die-implementierungen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 08:46:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207810.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Mar 2008 22:02:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit virtuellen Methoden und die Implementierungen on Tue, 11 Mar 2008 22:02:59 GMT]]></title><description><![CDATA[<p>Bei einer abstrakten Basisklasse habe ich:</p>
<pre><code class="language-cpp">virtual void f() = 0 {}
</code></pre>
<p>Muss da unbedingt die Implementation von f sein?<br />
Wenn ich schreibe:</p>
<pre><code class="language-cpp">virtual void f() = 0;
</code></pre>
<p>meckert der Compiler wenn p_base-&gt;f() aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1472443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1472443</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Tue, 11 Mar 2008 22:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit virtuellen Methoden und die Implementierungen on Tue, 11 Mar 2008 22:12:38 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">virtual void f() = 0 {}
</code></pre>
<p>Das sollte doch gar nicht möglich sein? &quot;= 0&quot; meint doch schon, dass eben keine Definition vorhanden ist.<br />
Du musst eine konkrete Klasse bilden, also eine Klasse von der abstrakten Basisklasse ableiten, welche mindestens eine Methode definiert.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1472448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1472448</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Tue, 11 Mar 2008 22:12:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit virtuellen Methoden und die Implementierungen on Tue, 11 Mar 2008 22:14:54 GMT]]></title><description><![CDATA[<p>nein!</p>
<p>die klammern muessen weg.</p>
<pre><code class="language-cpp">class Base
{
public:
  virtual ~Base() {} //NICHT vergessen, wenn du speicherleichen vermeiden möchtest
  void pure_abstract() = 0;
};
class Derived public Base
{
public:
  void pure_abstract() { /*impl*/ }
};
...
Base* ptr = new Derived;
ptr-&gt;pure_abstract(); //&lt;-- wuppt
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1472450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1472450</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Tue, 11 Mar 2008 22:14:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit virtuellen Methoden und die Implementierungen on Tue, 11 Mar 2008 23:39:45 GMT]]></title><description><![CDATA[<p>es ist allerdings sehr wohl möglich, auch rein virtuellen funktionen eine default-implementierung zu geben, allerdings ist es nicht erlaubt, bei die funktion bei ihrer deklaration gleichzeitig als rein virtuell zu markieren und zu definieren.</p>
<p>notwendig ist das beispielsweise bei rein virtuellen destruktoren, die dennoch definiert werden müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1472476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1472476</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Tue, 11 Mar 2008 23:39:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit virtuellen Methoden und die Implementierungen on Tue, 11 Mar 2008 23:56:18 GMT]]></title><description><![CDATA[<p>queer_boy schrieb:</p>
<blockquote>
<p>allerdings ist es nicht erlaubt, bei die funktion bei ihrer deklaration gleichzeitig als rein virtuell zu markieren und zu definieren ...</p>
</blockquote>
<p>... doch eine Compiler unterstützen diese Syntax</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1472480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1472480</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 11 Mar 2008 23:56:18 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit virtuellen Methoden und die Implementierungen on Wed, 12 Mar 2008 08:05:24 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<p>queer_boy schrieb:</p>
<blockquote>
<p>allerdings ist es nicht erlaubt, bei die funktion bei ihrer deklaration gleichzeitig als rein virtuell zu markieren und zu definieren ...</p>
</blockquote>
<p>... doch eine Compiler unterstützen diese Syntax</p>
</blockquote>
<p>also wenn du das visual studio verwendest und irgendwann nen GNU compiler anwirfst, dann wirst du dich wundern, WAS der cl.exe-compiler so alles schluckt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1472554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1472554</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 12 Mar 2008 08:05:24 GMT</pubDate></item></channel></rss>