<?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[Herausfinden welche Klasse übergeben wird : Basis oder abgeleitete ????]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe zwei Klassen</p>
<pre><code class="language-cpp">class A
{
}

class B : public class A
{
}
</code></pre>
<p>noch dazu habe ich eine Methode in einer anderen Klasse die<br />
folgenden Parameter bekommt</p>
<pre><code class="language-cpp">func(const&amp; class A)
</code></pre>
<p>Wie kann ich denn jetzt am geschicktesten innerhalb dieser Funktion<br />
herausfinden ob ihr ein Objekt von class A oder eins von class B<br />
übergeben wird ?<br />
Je nach Klasse müssen nämliche andere Verarbeitungen aufgerufen werden.</p>
<p>Würde mich über eure Hilfe freuen,</p>
<p>DANKE</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187703/herausfinden-welche-klasse-übergeben-wird-basis-oder-abgeleitete</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 20:24:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187703.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Jul 2007 08:48:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Herausfinden welche Klasse übergeben wird : Basis oder abgeleitete ???? on Mon, 23 Jul 2007 08:48:58 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe zwei Klassen</p>
<pre><code class="language-cpp">class A
{
}

class B : public class A
{
}
</code></pre>
<p>noch dazu habe ich eine Methode in einer anderen Klasse die<br />
folgenden Parameter bekommt</p>
<pre><code class="language-cpp">func(const&amp; class A)
</code></pre>
<p>Wie kann ich denn jetzt am geschicktesten innerhalb dieser Funktion<br />
herausfinden ob ihr ein Objekt von class A oder eins von class B<br />
übergeben wird ?<br />
Je nach Klasse müssen nämliche andere Verarbeitungen aufgerufen werden.</p>
<p>Würde mich über eure Hilfe freuen,</p>
<p>DANKE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330615</guid><dc:creator><![CDATA[Tantor]]></dc:creator><pubDate>Mon, 23 Jul 2007 08:48:58 GMT</pubDate></item><item><title><![CDATA[Reply to Herausfinden welche Klasse übergeben wird : Basis oder abgeleitete ???? on Mon, 23 Jul 2007 08:52:35 GMT]]></title><description><![CDATA[<p>Eine Lösung wäre Überladung - du definierst eine zweite Version &quot;func(const&amp; B)&quot; deiner Funktion, dann wählt der Compiler aus, welche verwendet wird.</p>
<p>Alternativ bietet sich Polymorphie an - du kapselst die notwendigen Verarbeitungen in einer virtuellen Methode der Klasse A und überschreibst die Methode für Klasse B, um etwas anderes machen zu können.</p>
<p>(PS: Wenn du ganz verzweifelt bist, gibt es noch d****)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330621</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 Jul 2007 08:52:35 GMT</pubDate></item><item><title><![CDATA[Reply to Herausfinden welche Klasse übergeben wird : Basis oder abgeleitete ???? on Mon, 23 Jul 2007 08:53:49 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wenn du schon ableitest solltest du auch Polymorphie benutzen, anders ergibt das nämlich keinen Sinn.</p>
<pre><code class="language-cpp">class A
{
  ...
  virtual void func()
  {
    // Tue das was A können soll
  }
}

class B : public class A
{
  ...
  virtual void func()
  {
    // Tue das was B können soll
  }
}
...
A&amp; a = ...;
a.func(); // Es wird automatisch die richtige Funktion aufgerufen
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330622</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 23 Jul 2007 08:53:49 GMT</pubDate></item><item><title><![CDATA[Reply to Herausfinden welche Klasse übergeben wird : Basis oder abgeleitete ???? on Mon, 23 Jul 2007 09:21:09 GMT]]></title><description><![CDATA[<p>Und wenn der Code nicht in den Klassen direkt landen soll kann man es so machen (Visitor Pattern wenn ich mich nicht irre):</p>
<pre><code class="language-cpp">class A
{
public:
    virtual void doIt(visitor* v)
    {
        v-&gt;doItForA(this);
    }
};

class B : public A
{
public:
    virtual void doIt(visitor* v)
    {
        v-&gt;doItForB(this);
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1330650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330650</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 23 Jul 2007 09:21:09 GMT</pubDate></item><item><title><![CDATA[Reply to Herausfinden welche Klasse übergeben wird : Basis oder abgeleitete ???? on Mon, 23 Jul 2007 10:31:36 GMT]]></title><description><![CDATA[<p>Sorry , habe mich vielleicht etwas mißverstädnlich ausgedrückt.</p>
<p>Die Funktion func ist in einer Klasse c<br />
also haben wir folgendes :</p>
<pre><code class="language-cpp">class A
{
}

class B : public class A
{
}

class C::func ( cons&amp; class A )
</code></pre>
<p>Und in class A darf/kann ich nichts ändern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /><br />
Grummel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330713</guid><dc:creator><![CDATA[Tantor]]></dc:creator><pubDate>Mon, 23 Jul 2007 10:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to Herausfinden welche Klasse übergeben wird : Basis oder abgeleitete ???? on Mon, 23 Jul 2007 10:48:16 GMT]]></title><description><![CDATA[<p>Und was für einen Sinn macht die Vererbung, wenn B etwas völlig anderes ist als A?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330728</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 Jul 2007 10:48:16 GMT</pubDate></item><item><title><![CDATA[Reply to Herausfinden welche Klasse übergeben wird : Basis oder abgeleitete ???? on Tue, 24 Jul 2007 00:41:46 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/305">@Tantor</a>: Nu, deine Frage wurde ja jetzt schon beantwortet, also was gibt's noch für ein Problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331208</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 24 Jul 2007 00:41:46 GMT</pubDate></item></channel></rss>