<?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[[Klasse] virtual void]]></title><description><![CDATA[<pre><code class="language-cpp">class Base
{
public:
    virtual void Test() = 0;
};

class One : public Base{
};

void One::Test(){};
</code></pre>
<p>wollte ne virtuelle Funktion vererben, er meldet aber<br />
error C2509: 'Test' : member function not declared in 'One'</p>
<p>was ging schief<br />
mfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/158838/klasse-virtual-void</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 06:40:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158838.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 Sep 2006 20:05:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Klasse] virtual void on Fri, 08 Sep 2006 20:10:08 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Base
{
public:
    virtual void Test() = 0;
};

class One : public Base{
};

void One::Test(){};
</code></pre>
<p>wollte ne virtuelle Funktion vererben, er meldet aber<br />
error C2509: 'Test' : member function not declared in 'One'</p>
<p>was ging schief<br />
mfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133953</guid><dc:creator><![CDATA[_carnage]]></dc:creator><pubDate>Fri, 08 Sep 2006 20:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to [Klasse] virtual void on Fri, 08 Sep 2006 20:26:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Base
{
public:
    virtual void Test() = 0;
};

class One : public Base{
   void Test();//virtual in Base
};

void One::Test(){};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1133957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133957</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 08 Sep 2006 20:26:34 GMT</pubDate></item><item><title><![CDATA[Reply to [Klasse] virtual void on Fri, 08 Sep 2006 20:46:55 GMT]]></title><description><![CDATA[<p>danke aber ich dachte wenn ich in der basisklasse ne virtuelle funktion definiere, brauch ich bei allen abgeleiteten klassen diese nicht in deklarationsteil wieder hinzuschreiben?!<br />
-&gt; so</p>
<pre><code class="language-cpp">class base {
 virtual void bla();
};

class derivat : public base {};

void derivat::bla() {};
</code></pre>
<p>geht das net so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133964</guid><dc:creator><![CDATA[_carnage]]></dc:creator><pubDate>Fri, 08 Sep 2006 20:46:55 GMT</pubDate></item><item><title><![CDATA[Reply to [Klasse] virtual void on Fri, 08 Sep 2006 20:51:42 GMT]]></title><description><![CDATA[<p>geht ja so offensichtlich nicht ...</p>
<p>Ist ja auch logisch, da du ja die Methode nicht implementieren musst. Du könntest ja auch nur eine weitere abstrakte Klasse erzeugen. Außerdem dient dies der Übersicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133965</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Fri, 08 Sep 2006 20:51:42 GMT</pubDate></item><item><title><![CDATA[Reply to [Klasse] virtual void on Sat, 09 Sep 2006 09:05:09 GMT]]></title><description><![CDATA[<p>_carnage schrieb:</p>
<blockquote>
<p>danke aber ich dachte wenn ich in der basisklasse ne virtuelle funktion definiere, brauch ich bei allen abgeleiteten klassen diese nicht in deklarationsteil wieder hinzuschreiben?!</p>
</blockquote>
<p>Bei einfachen virtuellen Methoden stimmt das - aber du hast dort eine <strong>PUR</strong> virtuelle Methode, und die <strong>MUSST</strong> du in allen abgeleiteten Klassen neu deklarieren (wenn du sie konkret einsetzen willst).</p>
<p>(wenn du eine Methode aufrufen willst, brauchst du etwas, was du aufrufen kannst - und das &quot;virtual void Test() <strong>=0</strong>;&quot; besagt, daß dort nichts ist ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134115</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 09 Sep 2006 09:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to [Klasse] virtual void on Sat, 09 Sep 2006 18:56:24 GMT]]></title><description><![CDATA[<p>_carnage schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class base {
 virtual void bla();
};

class derivat : public base {};

void derivat::bla() {};
</code></pre>
<p>geht das net so?</p>
</blockquote>
<p>Nein, du musst dem Compiler mitteilen dass du <em>bla</em> überschreiben willst.</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>(wenn du eine Methode aufrufen willst, brauchst du etwas, was du aufrufen kannst - und das &quot;virtual void Test() =0;&quot; besagt, daß dort nichts ist ;))</p>
</blockquote>
<p>Ja? Dann muss mein Compiler kaputt sein, denn er lässt folgendes unbeanstandet durchgehen:</p>
<pre><code class="language-cpp">struct foo
{
  virtual void bar() = 0;
};
void foo::bar() { }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1134369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134369</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sat, 09 Sep 2006 18:56:24 GMT</pubDate></item><item><title><![CDATA[Reply to [Klasse] virtual void on Sun, 10 Sep 2006 10:59:07 GMT]]></title><description><![CDATA[<p>Ich zitiere mal meinen Prof.:</p>
<p>Zweck der Spezifikation einer rein virtuellen Methode ist die Vererbung der Spezifikation.</p>
<p>Zweck von virtuellen Methoden ist die Bereitstellung der Spezifikation und der Standardimplementation für die abgeleitete Klasse, die verändert werden sollen.</p>
<p>Zweck einer nicht virtuellen Methode ist die Bereitstellung von Spezifikation und Implementation. Sie dürfen nicht verändert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134574</guid><dc:creator><![CDATA[deetee]]></dc:creator><pubDate>Sun, 10 Sep 2006 10:59:07 GMT</pubDate></item></channel></rss>