<?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[Vererbung]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe folgendes Problem:<br />
Ich habe eine Basisklasse, von der 3 Unterklassen abgeleitet werden.</p>
<p>Nun ist in der Basisklasse u.a. folgende Funktion deklariert:</p>
<p>virtual bool lesen (char *dateiname) abstract;</p>
<p>In einer der drei Unterklassen möchte ich dieser Funktion nun noch einen weiteren Parameter übergeben. Diese sollte dann so aussehen:</p>
<p>bool lesen (char *dateiname, Klasse *Objekt)</p>
<p>Hat jemand ne Idee, wie ich das machen kann ohne das der Compiler Alarm schlägt?</p>
<p>Grüße,<br />
Imiglikos</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186227/vererbung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 08:31:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186227.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jul 2007 11:18:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbung on Fri, 06 Jul 2007 11:18:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe folgendes Problem:<br />
Ich habe eine Basisklasse, von der 3 Unterklassen abgeleitet werden.</p>
<p>Nun ist in der Basisklasse u.a. folgende Funktion deklariert:</p>
<p>virtual bool lesen (char *dateiname) abstract;</p>
<p>In einer der drei Unterklassen möchte ich dieser Funktion nun noch einen weiteren Parameter übergeben. Diese sollte dann so aussehen:</p>
<p>bool lesen (char *dateiname, Klasse *Objekt)</p>
<p>Hat jemand ne Idee, wie ich das machen kann ohne das der Compiler Alarm schlägt?</p>
<p>Grüße,<br />
Imiglikos</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319590</guid><dc:creator><![CDATA[Imiglikos]]></dc:creator><pubDate>Fri, 06 Jul 2007 11:18:23 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Fri, 06 Jul 2007 11:23:25 GMT]]></title><description><![CDATA[<p>Wenn du eine virtuelle Methode neudefinieren willst, <strong>muß</strong> sie die selben Parameter haben wie in der Basisklasse (andernfalls würde es krachen, wenn du die Methode über eine Basiszeiger aufrufen willst). Aber du kannst natürlich noch zusätzlich weitere Überladungen definieren, wenn du willst:</p>
<pre><code class="language-cpp">class base
{
public:
  virtual bool lesen (char *dateiname)=0;
};

class derived : public base
{
public:
  //neue Überladung der Methode
  virtual bool lesen (char *dateiname,Klasse*Objekt);
  //Redefinition der base::lesen()
  virtual bool lesen (char *dateiname)
  {
    Klasse dummy;
    return lesen(dateiname,&amp;dummy);
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1319597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319597</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 Jul 2007 11:23:25 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Fri, 06 Jul 2007 11:42:46 GMT]]></title><description><![CDATA[<p>Wenn ich das so mache, bekomme ich vom Compiler die Fehlermeldung und die Funktion dann aufrufe, bekomme ich vom Compiler die Fehlermeldung, dass die Funktion keine 2 Argumente akzeptiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319613</guid><dc:creator><![CDATA[Imiglikos]]></dc:creator><pubDate>Fri, 06 Jul 2007 11:42:46 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Fri, 06 Jul 2007 11:51:51 GMT]]></title><description><![CDATA[<p>Wenn du lesen(char*,Klass*) über einen Basisklassenzeiger/referenz aufrufst, ist es normal das der Compiler da meckert.</p>
<p>In base gibt es kein lesen(char*,Klass*) bzw virtual lesen(char*,Klass*) wodurch der Compiler in der vtable nachschauen würde, um die Funktion aufrufen zu können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319627</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 06 Jul 2007 11:51:51 GMT</pubDate></item></channel></rss>