<?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[Virtual Funktionen, Platzhalter?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Headerfile mit einigen Virtual Funktionen,</p>
<p>virtual void bla ( .. Platzhalter ..);</p>
<p>wenn ich jetzt in beerbten Klassen Parameter übergeben will wie mache ich dass in der Oberklasse, wegen &quot;Platzhaltern&quot;?</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/233239/virtual-funktionen-platzhalter</link><generator>RSS for Node</generator><lastBuildDate>Tue, 16 Jun 2026 03:33:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/233239.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Feb 2009 14:38:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 14:38:34 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Headerfile mit einigen Virtual Funktionen,</p>
<p>virtual void bla ( .. Platzhalter ..);</p>
<p>wenn ich jetzt in beerbten Klassen Parameter übergeben will wie mache ich dass in der Oberklasse, wegen &quot;Platzhaltern&quot;?</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656569</guid><dc:creator><![CDATA[guest02022009]]></dc:creator><pubDate>Mon, 02 Feb 2009 14:38:34 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 15:00:36 GMT]]></title><description><![CDATA[<p>guest02022009 schrieb:</p>
<blockquote>
<p>ich habe ein Headerfile mit einigen Virtual Funktionen,</p>
<p>virtual void bla ( .. Platzhalter ..);</p>
<p>wenn ich jetzt in beerbten Klassen Parameter übergeben will wie mache ich dass in der Oberklasse, wegen &quot;Platzhaltern&quot;?</p>
</blockquote>
<p>Ich verstehe deine Beschreibung nicht wirklich.</p>
<p>Wenn du willst, das eine virtuelle Methode Parameter annimmt, so müssen diese in allen entsprechenden Methoden identisch sein (=&gt; gleiche Signatur). Wenn du Defaultwerte für Parameter meinst, sollten auch diese überall identisch sein (sonst bekommst du, je nach dem über welchen Zeiger du gehst ggf. andere Vorbelegungen.</p>
<p>Virtuelle Methoden sind nicht geeignet unterschiedliche Parameter anzunehmen, den wie soll damit deiner Meinung Polymorphie funktionieren?</p>
<p>cu André<br />
P.S: Vielleicht solltest du mal ein konkretes Beispiel nennen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656591</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 02 Feb 2009 15:00:36 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 16:36:16 GMT]]></title><description><![CDATA[<p>Ich versuche es nochmal:</p>
<p>Ich habe eine abstrakte Oberklasse in der ich Funktionen habe.<br />
Nun möchte ich diese Funktionen in verschiedenen Unterklassen implementieren.</p>
<p>in der Oberklasse:<br />
virtual bla( + , +)</p>
<p>Unterklasse1 die die Oberklasse implmentiert:<br />
bla( int a, int b)</p>
<p>und<br />
Unterklasse2 die die Oberklasse implmentiert:<br />
bla( double a, double b)</p>
<p>Meine Frage war jetzt, was ich in der Oberklasse statt &quot;+&quot; für Typen hinschreibe?</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656660</guid><dc:creator><![CDATA[guest02022009]]></dc:creator><pubDate>Mon, 02 Feb 2009 16:36:16 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 16:46:55 GMT]]></title><description><![CDATA[<p>int a, int b</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656668</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Mon, 02 Feb 2009 16:46:55 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 16:48:36 GMT]]></title><description><![CDATA[<p>Wenn du noch double erlauben willst, mußt du ne zweite virtual Funktion machen:</p>
<pre><code class="language-cpp">class Base
{
   public:
      virtual int bla(int a, int b);
      virtual double bla(double a, double b);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1656671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656671</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Mon, 02 Feb 2009 16:48:36 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 16:56:54 GMT]]></title><description><![CDATA[<p>Aber ich glaub, du suchst eher nach templates.<br />
ala</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
T bla(T, T);
[...]
double dres = bla&lt;double&gt;(da, db);
int ires = bla&lt;int&gt;(ia, ib);
</code></pre>
<p>Oder willst du in den bla der erbenden Klassen was ganz anderes machen in dem bla?<br />
Das kannst du auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656679</guid><dc:creator><![CDATA[franz]]></dc:creator><pubDate>Mon, 02 Feb 2009 16:56:54 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 17:06:52 GMT]]></title><description><![CDATA[<p>guest02022009 schrieb:</p>
<blockquote>
<p>Meine Frage war jetzt, was ich in der Oberklasse statt &quot;+&quot; für Typen hinschreibe?</p>
</blockquote>
<p>Das ist genau das, was so nicht möglich - und auch nicht sinnvoll - ist.</p>
<p>Grundsätzlich funktioniert virtual nur mit Methoden die eine identische Signatur haben. Es macht auch keinen anderen Sinn. Der Sinn von virtual ist ja gerade, das man verschiedene Objekte über eine identische Schnittstelle ansprechen kann. Vererbung mag einige, aber bei weiten nicht alle Designprobleme lösen.</p>
<p>Eine Möglichkeit für dein Problem sind vielleicht die beschriebenen Templates, nur hier gilt: jede Templateinstanzierung mit einer anderen Signatur ist auch ein eigener Datentyp.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656685</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 02 Feb 2009 17:06:52 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 17:34:47 GMT]]></title><description><![CDATA[<p>Ist hier die Basisklasse überhaupt angebracht? Also kann man sagen, alle abgeleiteten Klassen sind jeweils eine Basisklasse und haben untereinander die Eigenschaften der Basisklasse gemeinsam?</p>
<p>Denn wenn es dir nur darum geht, unterschiedliche Funktionen mit zwei Parametern anzubieten, sind die erwähnten Templates der bessere Weg (das ist ein völlig anderes Konzept als Objektorientierung).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656715</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 02 Feb 2009 17:34:47 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 17:52:39 GMT]]></title><description><![CDATA[<p>...<br />
angenommen ich habe eine Distanzfunktion die einmal die Distanz zwischen zwei Integern und beim anderen mal die Distanz zwischen zwei Strings berechnen soll.</p>
<p>Jetzt möchte ich in einer ganz anderen Klasse diese Distanz berechnen abhg davon ob jetzt eben Integer oder String ist die Berechnung ja ne andere (das heisst also die Implementierung ist jedesmal eine andere), wie kann ich das jetzt relalisieren?<br />
... und zwar in einer eigenen Klassenstruktur um bei Bedarf eben weitere Funktionen zu implementieren, die bspweise die Distanz zwischen &quot;Äpfeln&quot; berechnen</p>
<p>Ich bin dankbar für jeden Vorschlag, je mehr desto besser</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656725</guid><dc:creator><![CDATA[guest02022009]]></dc:creator><pubDate>Mon, 02 Feb 2009 17:52:39 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 17:54:23 GMT]]></title><description><![CDATA[<p>Liesse sich da nicht etwas mit einfacher Funktionsüberladung machen?</p>
<p>Oder wie meinst du genau &quot;in einer anderen Klasse&quot;? Wie soll diese die Funktionen verwenden können? Ein Codebeispiel zur Verdeutlichung wäre vielleicht auch nicht schlecht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656728</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 02 Feb 2009 17:54:23 GMT</pubDate></item><item><title><![CDATA[Reply to Virtual Funktionen, Platzhalter? on Mon, 02 Feb 2009 18:02:39 GMT]]></title><description><![CDATA[<p>Das kann man mittels Überladung machen. Anderseits wäre hier ev. auch ein template angebracht, dass einfach eine gewisse Schnittstelle erfordert, um an die benötigen Daten zu kommen und für Spezialfälle (wie den Integer z.B) gibt es ja Spezialisierung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1656739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1656739</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 02 Feb 2009 18:02:39 GMT</pubDate></item></channel></rss>