<?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[[gelöst] Verständnisproblem mit virtual]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche mich gerade an einer eigenen MySQL-Klasse mit wxWidgets. Dabei bin ich auf ein kleines Problem gestossen was mir nicht in den Kopf gehen will, weil es z.B. mit PHP so einfach ist.</p>
<pre><code class="language-cpp">class A
  {
  public:
    virtual wxString foo() { return _T(&quot;FOO von A&quot;);}
    wxString getfoo() { return foo(); }
  };

class B : public A
  {
  public:
    virtual wxString foo() { return _T(&quot;FOO von B&quot;);}
  };

//....in einer Funktion irgendwo im Quelltext....
  {
  B vari;
  wxLogError(vari.getfoo()); // FOO von A
  }
</code></pre>
<p>Müsste nicht wegen dem virtual hier eigentlich stehen &quot;FOO von B&quot; ???<br />
Ich habe die Klasse A ja geerbt und die Funktion foo() virtuell überschrieben.</p>
<p>Wo liegt mein Denkfehler?</p>
<p>Danke,<br />
Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/222687/gelöst-verständnisproblem-mit-virtual</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 21:46:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/222687.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Sep 2008 08:54:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst] Verständnisproblem mit virtual on Tue, 16 Sep 2008 10:16:42 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche mich gerade an einer eigenen MySQL-Klasse mit wxWidgets. Dabei bin ich auf ein kleines Problem gestossen was mir nicht in den Kopf gehen will, weil es z.B. mit PHP so einfach ist.</p>
<pre><code class="language-cpp">class A
  {
  public:
    virtual wxString foo() { return _T(&quot;FOO von A&quot;);}
    wxString getfoo() { return foo(); }
  };

class B : public A
  {
  public:
    virtual wxString foo() { return _T(&quot;FOO von B&quot;);}
  };

//....in einer Funktion irgendwo im Quelltext....
  {
  B vari;
  wxLogError(vari.getfoo()); // FOO von A
  }
</code></pre>
<p>Müsste nicht wegen dem virtual hier eigentlich stehen &quot;FOO von B&quot; ???<br />
Ich habe die Klasse A ja geerbt und die Funktion foo() virtuell überschrieben.</p>
<p>Wo liegt mein Denkfehler?</p>
<p>Danke,<br />
Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1582666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1582666</guid><dc:creator><![CDATA[stefanjann]]></dc:creator><pubDate>Tue, 16 Sep 2008 10:16:42 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Verständnisproblem mit virtual on Tue, 16 Sep 2008 09:05:05 GMT]]></title><description><![CDATA[<p>Stichwort: Basisklassenzeiger</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1582673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1582673</guid><dc:creator><![CDATA[ceplusplus*loggedoff]]></dc:creator><pubDate>Tue, 16 Sep 2008 09:05:05 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Verständnisproblem mit virtual on Tue, 16 Sep 2008 09:08:09 GMT]]></title><description><![CDATA[<p>Eigentlich dürfte das nicht passieren (oder ich sehe irgendeinen total doofen Fehler in deinem Code nicht...). Ich habe mir gerade mal ein ähnliches Beispiel gebaut, um ganz sicher zu gehen und das funktioniert einwandfrei:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

using namespace std;

class Base
{
    public:
    virtual string GetName() {return &quot;Base&quot;;}
    string Get() {return GetName();}
};

class Derived : public Base
{
    public:
    virtual string GetName() {return &quot;Derived&quot;;}
};

int main()
{
    Derived test;
    cout &lt;&lt; test.Get();
    return 0;
}
</code></pre>
<p>Gibt natürlich &quot;Derived&quot; aus...</p>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1582678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1582678</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Tue, 16 Sep 2008 09:08:09 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Verständnisproblem mit virtual on Tue, 16 Sep 2008 09:24:59 GMT]]></title><description><![CDATA[<p>Ich hab jetzt mal den g++ von 4.2.2 auf 4.3.2 upgedatet und mir das aktuellste wxWidgets vom PacMan geholt. Und siehe da, jetzt geht es. Ich hab zwar noch ein kleines Problem mit der .mb_str()-Funktion, aber die virtual-Funktionen arbeiten nun richtig. Weiß auch nicht wo jetzt der Bug war.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1582696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1582696</guid><dc:creator><![CDATA[stefanjann]]></dc:creator><pubDate>Tue, 16 Sep 2008 09:24:59 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Verständnisproblem mit virtual on Tue, 16 Sep 2008 10:16:19 GMT]]></title><description><![CDATA[<p>Ich hab den Bug gefunden. Suse 11 bieten eine lib an, die g++ 4.2.2 verwendet, die den Fehler verursacht hat. Der g++ 4.3.2 macht das irgendwie anders, daher geht es mit dem.<br />
Die Info ist von ner portugisischen Seite, die mir ein Bekannter (dort wohnhaft) gefunden und grob übersetzt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1582732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1582732</guid><dc:creator><![CDATA[stefanjann]]></dc:creator><pubDate>Tue, 16 Sep 2008 10:16:19 GMT</pubDate></item></channel></rss>