<?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[Aufruf virtueller Funktionen]]></title><description><![CDATA[<p>Hi,</p>
<p>kann mir einer von euch sagen, warum sich dieser Code nicht fehlerfrei kompilieren lässt, sondern unten zitierte Fehlermeldung erzeugt?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

struct Basisklasse {
	virtual void vf1();
};

struct AbgeleiteteKlasse : Basisklasse {
	virtual void vf1() {std::cout&lt;&lt;&quot;Test&quot;;};
};

int main() {
	AbgeleiteteKlasse d;
	Basisklasse *bp = &amp;d;
	bp-&gt;vf1();
}
</code></pre>
<blockquote>
<p>/tmp/ccEAhpIA.o: In function <code>Basisklasse::Basisklasse()': test3.cpp:(.text._ZN11BasisklasseC2Ev\[Basisklasse::Basisklasse()\]+0x4): undefined reference to</code>vtable for Basisklasse'<br />
/tmp/ccEAhpIA.o:(.rodata._ZTI17AbgeleiteteKlasse[typeinfo for AbgeleiteteKlasse]+0x8): undefined reference to `typeinfo for Basisklasse'<br />
collect2: ld gab 1 als Ende-Status zurück</p>
</blockquote>
<p>Danke im Voraus <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/topic/191486/aufruf-virtueller-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 03:27:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191486.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 Sep 2007 16:26:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aufruf virtueller Funktionen on Mon, 03 Sep 2007 16:26:02 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>kann mir einer von euch sagen, warum sich dieser Code nicht fehlerfrei kompilieren lässt, sondern unten zitierte Fehlermeldung erzeugt?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

struct Basisklasse {
	virtual void vf1();
};

struct AbgeleiteteKlasse : Basisklasse {
	virtual void vf1() {std::cout&lt;&lt;&quot;Test&quot;;};
};

int main() {
	AbgeleiteteKlasse d;
	Basisklasse *bp = &amp;d;
	bp-&gt;vf1();
}
</code></pre>
<blockquote>
<p>/tmp/ccEAhpIA.o: In function <code>Basisklasse::Basisklasse()': test3.cpp:(.text._ZN11BasisklasseC2Ev\[Basisklasse::Basisklasse()\]+0x4): undefined reference to</code>vtable for Basisklasse'<br />
/tmp/ccEAhpIA.o:(.rodata._ZTI17AbgeleiteteKlasse[typeinfo for AbgeleiteteKlasse]+0x8): undefined reference to `typeinfo for Basisklasse'<br />
collect2: ld gab 1 als Ende-Status zurück</p>
</blockquote>
<p>Danke im Voraus <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/1358108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358108</guid><dc:creator><![CDATA[moagnus]]></dc:creator><pubDate>Mon, 03 Sep 2007 16:26:02 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf virtueller Funktionen on Mon, 03 Sep 2007 16:31:16 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct Basisklasse {
    virtual void vf1()=0;
};

struct AbgeleiteteKlasse : Basisklasse {
    void vf1() {
		 std::cout&lt;&lt;&quot;Test&quot;;
	 }
};

int main() {
    AbgeleiteteKlasse d;
    Basisklasse *bp = &amp;d;
    bp-&gt;vf1();
	 return 1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1358112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358112</guid><dc:creator><![CDATA[studi_x]]></dc:creator><pubDate>Mon, 03 Sep 2007 16:31:16 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf virtueller Funktionen on Mon, 03 Sep 2007 17:18:34 GMT]]></title><description><![CDATA[<p>Danke</p>
<p>Ist eine abstrakte Klasse in dem Fall zwingend notwendig? Ich dachte, das wäre mehr eine Option, um explizit nochmal zu bestätigen, dass keine Objekte von der Klasse angelegt werden. In meinem Buch ist &quot;Basisklasse&quot; jedenfalls nicht abstrakt. Wird dann wahrscheinlich ein Fehler sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358131</guid><dc:creator><![CDATA[moagnus]]></dc:creator><pubDate>Mon, 03 Sep 2007 17:18:34 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf virtueller Funktionen on Mon, 03 Sep 2007 17:27:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>die muss nicht abstrakt sein. Aber sonst musst Du die Methode in der Basisklasse implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358167</guid><dc:creator><![CDATA[void*]]></dc:creator><pubDate>Mon, 03 Sep 2007 17:27:37 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf virtueller Funktionen on Mon, 03 Sep 2007 18:50:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct base
{
    virtual void foo() { std::cout &lt;&lt; &quot;virtual void base::foo()&quot; &lt;&lt; std::endl; }
    virtual void bar() = 0;
};

struct derived : base 
{
    virtual void foo() { std::cout &lt;&lt; &quot;virtual void derived::foo()&quot; &lt;&lt; std::endl; }
};

int main() 
{
    base* ptr = new derived;
    ptr-&gt;foo();
    ptr-&gt;bar();
    delete ptr;
}
</code></pre>
<p>... sollte melden, das du bar nicht implementiert hast...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358245</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 03 Sep 2007 18:50:03 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf virtueller Funktionen on Mon, 03 Sep 2007 22:25:57 GMT]]></title><description><![CDATA[<p>Danke vielmals. Es haben sich alle Fragen geklärt. <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/1358371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358371</guid><dc:creator><![CDATA[moagnus]]></dc:creator><pubDate>Mon, 03 Sep 2007 22:25:57 GMT</pubDate></item></channel></rss>