<?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[&amp;quot;no &#x27;xxx&#x27; member function declared&amp;quot; in abgeleiteter Klasse]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich habe eine Klasse &quot;GuiObject&quot; von der diverse andere Klassen erben, in dem Fall jetzt mal &quot;ScrollableListElement&quot;. In der Klasse &quot;GuiObject&quot; befindet sich nur eine virtuelle funktion &quot;render_to_screen&quot;. Früher sah das so aus:</p>
<pre><code class="language-cpp">virtual void render_to_screen();
</code></pre>
<p>die hab ich dann in den anderen klassen implemtiert und alles funktionierte. Jetzt hab ich das so abgeändert:</p>
<pre><code class="language-cpp">virtual void render_to_screen(int pos_x=0, int pos_y=0);
</code></pre>
<p>Und jetzt sagt er in jeder Klasse (bzw hier in ScrollableListElement.cpp)</p>
<blockquote>
<p>ScrollableListElement.cpp (18) : error: no 'void ScrollableListElement::render_to_screen(int, int)' member function declared in class 'ScrollableListElement'</p>
</blockquote>
<p>Ich könnt das jetzt überall nochmal extra deklarieren, aber das ist ja nicht sinn der Sache...</p>
<p>Kompletter Code:</p>
<p>GuiObject.h</p>
<pre><code class="language-cpp">class GuiObject {

public:
	virtual void render_to_screen(int pos_x=0, int pos_y=0);
};
</code></pre>
<p>GuiObject.cpp</p>
<pre><code class="language-cpp">#include &quot;GuiObject.h&quot;

void GuiObject::render_to_screen(int pos_x, int pos_y) {
}
</code></pre>
<p>ScrollableListElement.h</p>
<pre><code class="language-cpp">#include &quot;Renderer.h&quot;
#include &quot;Controllable.h&quot;
#include &quot;GuiObject.h&quot;

class ScrollableListElement : public Controllable, public GuiObject {

private:
	std::string title;

	static Image* background_image;

public:
	ScrollableListElement(std::string t);
};
</code></pre>
<p>ScrollableListElement.cpp</p>
<pre><code class="language-cpp">#include &quot;ScrollableListElement.h&quot;

// [konstruktor]

void ScrollableListElement::render_to_screen(int pos_x, int pos_y)
{
	Renderer::blitAlphaImageToScreen(0 ,0 , 236, 35, this-&gt;background_image, pos_x, pos_y);
}
</code></pre>
<p>Irgendwie versteh ich das nicht... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/231279/quot-no-xxx-member-function-declared-quot-in-abgeleiteter-klasse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 21:48:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/231279.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Jan 2009 12:13:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;no &#x27;xxx&#x27; member function declared&amp;quot; in abgeleiteter Klasse on Thu, 08 Jan 2009 12:13:17 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich habe eine Klasse &quot;GuiObject&quot; von der diverse andere Klassen erben, in dem Fall jetzt mal &quot;ScrollableListElement&quot;. In der Klasse &quot;GuiObject&quot; befindet sich nur eine virtuelle funktion &quot;render_to_screen&quot;. Früher sah das so aus:</p>
<pre><code class="language-cpp">virtual void render_to_screen();
</code></pre>
<p>die hab ich dann in den anderen klassen implemtiert und alles funktionierte. Jetzt hab ich das so abgeändert:</p>
<pre><code class="language-cpp">virtual void render_to_screen(int pos_x=0, int pos_y=0);
</code></pre>
<p>Und jetzt sagt er in jeder Klasse (bzw hier in ScrollableListElement.cpp)</p>
<blockquote>
<p>ScrollableListElement.cpp (18) : error: no 'void ScrollableListElement::render_to_screen(int, int)' member function declared in class 'ScrollableListElement'</p>
</blockquote>
<p>Ich könnt das jetzt überall nochmal extra deklarieren, aber das ist ja nicht sinn der Sache...</p>
<p>Kompletter Code:</p>
<p>GuiObject.h</p>
<pre><code class="language-cpp">class GuiObject {

public:
	virtual void render_to_screen(int pos_x=0, int pos_y=0);
};
</code></pre>
<p>GuiObject.cpp</p>
<pre><code class="language-cpp">#include &quot;GuiObject.h&quot;

void GuiObject::render_to_screen(int pos_x, int pos_y) {
}
</code></pre>
<p>ScrollableListElement.h</p>
<pre><code class="language-cpp">#include &quot;Renderer.h&quot;
#include &quot;Controllable.h&quot;
#include &quot;GuiObject.h&quot;

class ScrollableListElement : public Controllable, public GuiObject {

private:
	std::string title;

	static Image* background_image;

public:
	ScrollableListElement(std::string t);
};
</code></pre>
<p>ScrollableListElement.cpp</p>
<pre><code class="language-cpp">#include &quot;ScrollableListElement.h&quot;

// [konstruktor]

void ScrollableListElement::render_to_screen(int pos_x, int pos_y)
{
	Renderer::blitAlphaImageToScreen(0 ,0 , 236, 35, this-&gt;background_image, pos_x, pos_y);
}
</code></pre>
<p>Irgendwie versteh ich das nicht... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1641663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1641663</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Thu, 08 Jan 2009 12:13:17 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;no &#x27;xxx&#x27; member function declared&amp;quot; in abgeleiteter Klasse on Thu, 08 Jan 2009 12:22:12 GMT]]></title><description><![CDATA[<p>Schau dir mal deine ScrollableListElement Klasse an,man muss virutelle Methoden in Kind Klassen generell überschreiben.Und in deiner ScrollableListElement Klasse, existiert keine deklaration dieser Methoden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1641671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1641671</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 08 Jan 2009 12:22:12 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;no &#x27;xxx&#x27; member function declared&amp;quot; in abgeleiteter Klasse on Thu, 08 Jan 2009 12:22:27 GMT]]></title><description><![CDATA[<p>Wo ist denn die Deklaration in <em>ScrollableListElement</em>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1641672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1641672</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Thu, 08 Jan 2009 12:22:27 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;no &#x27;xxx&#x27; member function declared&amp;quot; in abgeleiteter Klasse on Thu, 08 Jan 2009 12:25:08 GMT]]></title><description><![CDATA[<p>Hmja, hab gedacht die müsste man nicht mehr deklaierern weil die schon in der elternklasse deklariert ist. Ok, falsch gedacht. Danke <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/1641675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1641675</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Thu, 08 Jan 2009 12:25:08 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;no &#x27;xxx&#x27; member function declared&amp;quot; in abgeleiteter Klasse on Thu, 08 Jan 2009 16:43:34 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p>man muss virutelle Methoden in Kind Klassen generell überschreiben.</p>
</blockquote>
<p>Falsch. Nur pur virtuelle Methoden müssen Überschrieben werden. bei normalen virtuellen Methoden darf die Kindklasse durchaus die Implementierung der Elternklasse übernehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1641924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1641924</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 08 Jan 2009 16:43:34 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;no &#x27;xxx&#x27; member function declared&amp;quot; in abgeleiteter Klasse on Thu, 08 Jan 2009 17:03:07 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: Stimmt habs verwechslet, ich danke dir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1641939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1641939</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 08 Jan 2009 17:03:07 GMT</pubDate></item></channel></rss>