<?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[(Anfängerfrage) Polymorphie]]></title><description><![CDATA[<p>hi, hab mir eine kleine test-klasse geschrieben anhand derer ich die Polymorphi verstehen will</p>
<pre><code class="language-cpp">class Auto
{
private:
	int ps;
	std::string hersteller;
	float zeit_100;

public:
	Auto(int ps, std::string hersteller, float zeit_100):ps(ps),hersteller(hersteller), zeit_100(zeit_100){};
	virtual void fahre(){std::cout&lt;&lt;&quot;Ich fahre ein normales Auto&quot;;}
};

class Porsche:public Auto
{
public:
	Porsche(int ps, std::string hersteller, float zeit_100):Auto(ps, hersteller, zeit_100){};
	virtual void fahre(){std::cout&lt;&lt;&quot;Ich fahre einen Porsche..brummmmm&quot;;}
};

int _tmain(int argc, _TCHAR* argv[])
{
	Auto * a = new Porsche(200, &quot;Porsche&quot;, 2.23f);
	a-&gt;fahre();

	delete a;
	getch();
	return 0;
}
</code></pre>
<p>meine Frage ist jetzt, wie kriege ich meine Variable a dazu, jetzt trotzdem die fahre()-Mehtode aus der Oberklasse aufzurufen? (in java geht das durch casten, aber ich habs nicht rausbekommen wie ich in c++ richtig caste um das anzustellen)</p>
<p>kann mir jemand sagen wie das aussehen müsste?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212908/anfängerfrage-polymorphie</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 14:15:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212908.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 May 2008 10:11:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to (Anfängerfrage) Polymorphie on Mon, 12 May 2008 10:11:58 GMT]]></title><description><![CDATA[<p>hi, hab mir eine kleine test-klasse geschrieben anhand derer ich die Polymorphi verstehen will</p>
<pre><code class="language-cpp">class Auto
{
private:
	int ps;
	std::string hersteller;
	float zeit_100;

public:
	Auto(int ps, std::string hersteller, float zeit_100):ps(ps),hersteller(hersteller), zeit_100(zeit_100){};
	virtual void fahre(){std::cout&lt;&lt;&quot;Ich fahre ein normales Auto&quot;;}
};

class Porsche:public Auto
{
public:
	Porsche(int ps, std::string hersteller, float zeit_100):Auto(ps, hersteller, zeit_100){};
	virtual void fahre(){std::cout&lt;&lt;&quot;Ich fahre einen Porsche..brummmmm&quot;;}
};

int _tmain(int argc, _TCHAR* argv[])
{
	Auto * a = new Porsche(200, &quot;Porsche&quot;, 2.23f);
	a-&gt;fahre();

	delete a;
	getch();
	return 0;
}
</code></pre>
<p>meine Frage ist jetzt, wie kriege ich meine Variable a dazu, jetzt trotzdem die fahre()-Mehtode aus der Oberklasse aufzurufen? (in java geht das durch casten, aber ich habs nicht rausbekommen wie ich in c++ richtig caste um das anzustellen)</p>
<p>kann mir jemand sagen wie das aussehen müsste?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507359</guid><dc:creator><![CDATA[jks2008]]></dc:creator><pubDate>Mon, 12 May 2008 10:11:58 GMT</pubDate></item><item><title><![CDATA[Reply to (Anfängerfrage) Polymorphie on Mon, 12 May 2008 10:18:05 GMT]]></title><description><![CDATA[<p>Hab mich erst wenig in diese Dinge eingelesen, aber das sollte nicht verkehrt sein:</p>
<p>a-&gt;Auto::fahre();</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507364</guid><dc:creator><![CDATA[ceplusplus*loggedoff]]></dc:creator><pubDate>Mon, 12 May 2008 10:18:05 GMT</pubDate></item><item><title><![CDATA[Reply to (Anfängerfrage) Polymorphie on Mon, 12 May 2008 12:17:53 GMT]]></title><description><![CDATA[<p>naja Polymorphie heißt ja, dem Objekt informationen über sich selbst mitgeben. Ich habe dir mal hier deinen Code ein wenig gekürzt und umgeschrieben so das es funktioniert so wie du es haben wolltes. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>da ich mich auch noch nciht solange in die Materie eingelesen habe, hoffe ich das alles soweit richtig ist.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;

using namespace std;

class Auto
{
private:
    int ps;
    std::string hersteller;
    float zeit_100;

public:

    virtual void fahre(){std::cout&lt;&lt;&quot;Ich fahre ein normales Auto&quot;&lt;&lt;endl;}
};

class Porsche:public Auto
{
public:

    void fahre(){std::cout&lt;&lt;&quot;Ich fahre einen Porsche..brummmmm&quot;&lt;&lt;endl;}
};

int main()
{
    Porsche p;
    Auto *zeiger_auf_automobil = &amp;p;
    Auto normales_auto;

    zeiger_auf_automobil-&gt;fahre(); //Porsche wird aufgerufen

    zeiger_auf_automobil = &amp;normales_auto;

    zeiger_auf_automobil-&gt;fahre();//normales Auto

    return 0;
}
</code></pre>
<p>Achja, alle Funktionen die in der Basisklasse</p>
<pre><code class="language-cpp">virtual
</code></pre>
<p>sind, sind auch in allen Abgeleiteten Klassen</p>
<pre><code class="language-cpp">virtual
</code></pre>
<p>in denen sie Überschrieben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507438</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 12 May 2008 12:17:53 GMT</pubDate></item><item><title><![CDATA[Reply to (Anfängerfrage) Polymorphie on Mon, 12 May 2008 12:48:54 GMT]]></title><description><![CDATA[<p>ah, ok, danke.</p>
<p>hat jemand eine idee, was man halbwegs sinnvolles programmieren könnte, wo das Vererbungskonzept benutzt wird. Zu Übungszwecken.</p>
<p>Ich möchte mich da weiter einarbeiten, aber bis auf so einen 10-Zeiler fällt mir kein Beispiel an, was man da sinnvolles programmierern könnte, ohne das es zum Großprojekt ausufert.</p>
<p>jemand eine idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507464</guid><dc:creator><![CDATA[jks2008]]></dc:creator><pubDate>Mon, 12 May 2008 12:48:54 GMT</pubDate></item><item><title><![CDATA[Reply to (Anfängerfrage) Polymorphie on Mon, 12 May 2008 12:51:42 GMT]]></title><description><![CDATA[<p>Kannst ja die Vererbungsstruktur von einem RTS machen.</p>
<p>Also so zum Beispiel Raumschiffe mit mehreren Arten, und je nach dem andere Ausrüstung usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507470</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 12 May 2008 12:51:42 GMT</pubDate></item></channel></rss>