<?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[parameter als neutrales objekt]]></title><description><![CDATA[<p>ich schreibe eine funktion und hätte als parameter gerne objekte von verschiedenen<br />
klassen, kann man da etwas neutrales einsetzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/131344/parameter-als-neutrales-objekt</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 03:02:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/131344.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Jan 2006 20:16:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to parameter als neutrales objekt on Mon, 02 Jan 2006 20:16:18 GMT]]></title><description><![CDATA[<p>ich schreibe eine funktion und hätte als parameter gerne objekte von verschiedenen<br />
klassen, kann man da etwas neutrales einsetzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/955080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/955080</guid><dc:creator><![CDATA[golden_jubilee]]></dc:creator><pubDate>Mon, 02 Jan 2006 20:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to parameter als neutrales objekt on Mon, 02 Jan 2006 20:21:43 GMT]]></title><description><![CDATA[<p>steff3 schrieb:</p>
<blockquote>
<p>ich schreibe eine funktion und hätte als parameter gerne objekte von verschiedenen<br />
klassen, kann man da etwas neutrales einsetzen?</p>
</blockquote>
<p>Um dir ernsthaft helfen zu können, solltest du die Frage noch ein wenig konkretisieren. In welchen Beziehungen stehen die Klassen der Objekte zu einander, etc.</p>
<p>Gruß Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/955095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/955095</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Mon, 02 Jan 2006 20:21:43 GMT</pubDate></item><item><title><![CDATA[Reply to parameter als neutrales objekt on Mon, 02 Jan 2006 20:24:32 GMT]]></title><description><![CDATA[<p>Caipi schrieb:</p>
<blockquote>
<p>steff3 schrieb:</p>
<blockquote>
<p>ich schreibe eine funktion und hätte als parameter gerne objekte von verschiedenen<br />
klassen, kann man da etwas neutrales einsetzen?</p>
</blockquote>
<p>Um dir ernsthaft helfen zu können, solltest du die Frage noch ein wenig konkretisieren. In welchen Beziehungen stehen die Klassen der Objekte zu einander, etc.</p>
<p>Gruß Caipi</p>
</blockquote>
<p>sie sind alle von CObejct abgeleitet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/955099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/955099</guid><dc:creator><![CDATA[golden_jubilee]]></dc:creator><pubDate>Mon, 02 Jan 2006 20:24:32 GMT</pubDate></item><item><title><![CDATA[Reply to parameter als neutrales objekt on Mon, 02 Jan 2006 20:39:31 GMT]]></title><description><![CDATA[<p>steff3 schrieb:</p>
<blockquote>
<p>Caipi schrieb:</p>
<blockquote>
<p>steff3 schrieb:</p>
<blockquote>
<p>ich schreibe eine funktion und hätte als parameter gerne objekte von verschiedenen<br />
klassen, kann man da etwas neutrales einsetzen?</p>
</blockquote>
<p>Um dir ernsthaft helfen zu können, solltest du die Frage noch ein wenig konkretisieren. In welchen Beziehungen stehen die Klassen der Objekte zu einander, etc.</p>
<p>Gruß Caipi</p>
</blockquote>
<p>sie sind alle von CObejct abgeleitet</p>
</blockquote>
<p>Wenn sie jetzt noch public abgeleitet sind, hilft dir wahrscheinlich &quot;die Polymorphie&quot; weiter.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">struct CObject
{
     // ...
     virtual foo() const { cout &lt;&lt; &quot;CObject::foo()\n&quot;; }
     // ...
};

struct CDerived : public CObject
{
     virtual foo() const { cout &lt;&lt; &quot;CDerived::foo()\n&quot;; }
     // ...
};

struct CDerived2 : public CObject
{
     virtual foo() const { cout &lt;&lt; &quot;CDerived2::foo()\n&quot;; }
     // ..
};

// Der unten angegebenen Funktion kannst du nun Objekte vom Typ CObject (und allen davon abgeleiteten Objekten) übergeben,
// trotzdem kann sich Verhalten von foo() je nach Klasse unterscheiden.
void f(const CObject&amp; rhs)
{
    rhs.foo(); // wenn CObject&amp; auf ein CObject verweist, wird &quot;CObject::foo()&quot; ausgegeben.
               // falls CObject&amp; dagegen auf ein CDerived verweist wird &quot;CDerived::foo()&quot; ausgegeben, usw.
}
</code></pre>
<p>Falls sich die Objekte - egal welchen Typs - gleichverhalten sollen, brauchst du die Polymorphie nicht.</p>
<p>Schau dir am besten das Thema Polymorphie genauer an :).</p>
<p>Gruß Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/955107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/955107</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Mon, 02 Jan 2006 20:39:31 GMT</pubDate></item><item><title><![CDATA[Reply to parameter als neutrales objekt on Mon, 02 Jan 2006 21:10:48 GMT]]></title><description><![CDATA[<p>steff3 schrieb:</p>
<blockquote>
<p>ich schreibe eine funktion und hätte als parameter gerne objekte von verschiedenen<br />
klassen, kann man da etwas neutrales einsetzen?</p>
</blockquote>
<p>Ja - programmiere die Funktion einfach als Template. Statt</p>
<pre><code class="language-cpp">void print( int x, std::ostream&amp; out )
{
    out &lt;&lt; x;
}
void print( const MyClass&amp; x, std::ostream&amp; out )
{
    out &lt;&lt; x;
}
</code></pre>
<p>besser</p>
<pre><code class="language-cpp">template&lt; typename T &gt;
void print( const T&amp; x, std::ostream&amp; out )
{
    out &lt;&lt; x;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/955128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/955128</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 02 Jan 2006 21:10:48 GMT</pubDate></item></channel></rss>