<?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;conflicts with base class&amp;quot; error]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine von einer anderen Klasse (wxTextCtrl) abgeleitete Klasse (wxNumCtrl).</p>
<p>in der Basisklasse gibt es eine Funktion</p>
<pre><code>wxString GetValue();
</code></pre>
<p>die ich in meiner abgeleiteten Klasse mit der Funktion</p>
<pre><code>int GetValue();
</code></pre>
<p>überschreiben möchte.</p>
<p>Soweit die Idee.</p>
<p>Nun das Problem:<br />
wxNumCtrl::GetValue() überschreibt wxTextCtrl::GetValue() nicht. Ich bekomme einen &quot;wxNumCtrl::GetValue() conflicts with base class wxTextCtrl::GetValue()&quot; error beim compilieren.</p>
<p>Was mache ich falsch?</p>
<p>Gruß,<br />
Sebastian</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/127075/quot-conflicts-with-base-class-quot-error</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 23:10:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127075.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Nov 2005 10:43:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;conflicts with base class&amp;quot; error on Mon, 21 Nov 2005 10:43:09 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine von einer anderen Klasse (wxTextCtrl) abgeleitete Klasse (wxNumCtrl).</p>
<p>in der Basisklasse gibt es eine Funktion</p>
<pre><code>wxString GetValue();
</code></pre>
<p>die ich in meiner abgeleiteten Klasse mit der Funktion</p>
<pre><code>int GetValue();
</code></pre>
<p>überschreiben möchte.</p>
<p>Soweit die Idee.</p>
<p>Nun das Problem:<br />
wxNumCtrl::GetValue() überschreibt wxTextCtrl::GetValue() nicht. Ich bekomme einen &quot;wxNumCtrl::GetValue() conflicts with base class wxTextCtrl::GetValue()&quot; error beim compilieren.</p>
<p>Was mache ich falsch?</p>
<p>Gruß,<br />
Sebastian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923109</guid><dc:creator><![CDATA[C_Bastian]]></dc:creator><pubDate>Mon, 21 Nov 2005 10:43:09 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;conflicts with base class&amp;quot; error on Mon, 21 Nov 2005 10:50:54 GMT]]></title><description><![CDATA[<p>Wenn man was ueberschreibt, sollte auch der Rueckgabewert gleich sein ....<br />
sonst ist es nich &quot;ueberschrieben&quot;</p>
<p>also hasst du quasi parralel<br />
wxString GetValue(); (aus der basisklasse)<br />
int GetValue();<br />
in deiner klasse.<br />
da aber funktionen gleicher signatur (Rueckgabewert gehoert nich zur signatur, sondern nur name, parameter und const qualifer ) nicht doppelt definiert werden duerfen, motzt das hier dein compiler direkt an ....</p>
<p>also merke:<br />
ueberschreiben geht nur, wenn signatur und rueckgabewert identisch sind,<br />
funktionen an einer klasse duerfen keine gleichen signaturen haben, erst auch nicht mit 2 unterschiedlichen rueckgabeparametern ....</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923110</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Mon, 21 Nov 2005 10:50:54 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;conflicts with base class&amp;quot; error on Mon, 21 Nov 2005 10:51:29 GMT]]></title><description><![CDATA[<blockquote>
<p>Was mache ich falsch?</p>
</blockquote>
<p>Du redefinierst den Rückgabewert einer geerbten Methode, das ist nicht gut. Benenn deine Methode um oder mach sonst was, aber das ist schlechter Stil.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923112</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Mon, 21 Nov 2005 10:51:29 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;conflicts with base class&amp;quot; error on Mon, 21 Nov 2005 10:54:53 GMT]]></title><description><![CDATA[<p>Sagt dir der Begriff &quot;Polymorphie&quot; etwas? Du kannst eine Methode nicht anhand des Rückgabetyps überladen - und um die Kompatibilität zur Basisklasse zu erhalten, muß der Rückgabetyp in der abgeleiteten Methode von der Basismethode abgeleitet sein. Oder stell dir mal vor, was da rauskommen sollte:</p>
<pre><code class="language-cpp">class Base
{
public:
  virtual std::string getVal() {return &quot;Alpha&quot;;}
};

class Derived:public Base
{
public:
  int getVal() {return 1;}
};

int main()
{
  Base* var = new Derived;
  cout&lt;&lt;var-&gt;getVal();
}
</code></pre>
<p>Die Typprüfung wird anhand des statischen Typs durchgeführt, verwendet also istream::operator&lt;&lt;(string), wenn dort ein int zurückkommt, gibt es einen mittelschweren Kollaps.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923114</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 21 Nov 2005 10:54:53 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;conflicts with base class&amp;quot; error on Mon, 21 Nov 2005 11:01:00 GMT]]></title><description><![CDATA[<p>Ok, danke. Scheint so nicht zu funktionieren. Dann halt GetInt().</p>
<p>Danke.<br />
Sebastian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923115</guid><dc:creator><![CDATA[C_Bastian]]></dc:creator><pubDate>Mon, 21 Nov 2005 11:01:00 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;conflicts with base class&amp;quot; error on Mon, 21 Nov 2005 14:21:06 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Sagt dir der Begriff &quot;Polymorphie&quot; etwas? Du kannst eine Methode nicht anhand des Rückgabetyps überladen - und um die Kompatibilität zur Basisklasse zu erhalten, muß der Rückgabetyp in der abgeleiteten Methode von der Basismethode abgeleitet sein.</p>
</blockquote>
<p>überladen? stimmt zwar, aber du meintest wohl überschreiben. wenn getVal in der basisklasse nicht virtual wäre hätte er nämlich kein problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923345</guid><dc:creator><![CDATA[nanunu]]></dc:creator><pubDate>Mon, 21 Nov 2005 14:21:06 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;conflicts with base class&amp;quot; error on Mon, 21 Nov 2005 14:46:30 GMT]]></title><description><![CDATA[<p>nanunu schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Sagt dir der Begriff &quot;Polymorphie&quot; etwas? Du kannst eine Methode nicht anhand des Rückgabetyps überladen - und um die Kompatibilität zur Basisklasse zu erhalten, muß der Rückgabetyp in der abgeleiteten Methode von der Basismethode abgeleitet sein.</p>
</blockquote>
<p>überladen? stimmt zwar, aber du meintest wohl überschreiben. wenn getVal in der basisklasse nicht virtual wäre hätte er nämlich kein problem.</p>
</blockquote>
<p>Oh doch, das hätte er.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923372</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Mon, 21 Nov 2005 14:46:30 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;conflicts with base class&amp;quot; error on Mon, 21 Nov 2005 15:02:56 GMT]]></title><description><![CDATA[<p>ja, nach meyers regel 37 schon (<em>Never redefine an inherited nonvirtual function</em>)... aber kompilierbar und eindeutig wäre der code trotzdem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923400</guid><dc:creator><![CDATA[nanunu]]></dc:creator><pubDate>Mon, 21 Nov 2005 15:02:56 GMT</pubDate></item></channel></rss>