<?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[[gelöst] Ableitung und Verallgemeinerung]]></title><description><![CDATA[<p>Hallo,<br />
Ich habe eine Klasse, von der ich mehrere andere Klassen ableite. Die anderen Klassen spezialisieren die Basisklasse nur in einer zusätzlichen Funktion,<br />
machen aber was anderes. In einer weiteren Klasse möchte ich die Funktionalität dieser Klassen benutzen, bei mir sieht das so aus:</p>
<pre><code class="language-cpp">class CEffect {
   [...]
};

class CMyEffect1 {
   : public CEffect
public:
   [...]
   void Update();
};

class CMyEffect2 {
   : public CEffect
public:
   [...]
   void Update();
};
</code></pre>
<p>In einer anderen Klasse möchte ich dann die Funktionalität allgemein nutzen, ohne sagen zu müssen, welche Klasse ich habe. ich weiß, dass das nicht so<br />
einfach möglich ist, aber letztenende soll es in etwa so aussehen:</p>
<pre><code class="language-cpp">class CMyClass {
   CEffect* pMyEffect1;
   CEffect* pMyEffect2;

   void do() {
      pMyEffect1 = new CMyEffect1();
      pMyEffect1-&gt;Update();

      pMyEffect2 = new CMyEffect2();
      pMyEffect2-&gt;Update();
};
</code></pre>
<p>Kann man das irgendwie realisieren? In Java war das glaube ich durch die<br />
Nutzung von Interfaces und abstrakten Klassen möglich, in C++ hab ich das<br />
bisher nicht geschafft.</p>
<p>Norman.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209483/gelöst-ableitung-und-verallgemeinerung</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 16:46:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209483.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Mar 2008 11:42:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst] Ableitung und Verallgemeinerung on Mon, 31 Mar 2008 12:54:24 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Ich habe eine Klasse, von der ich mehrere andere Klassen ableite. Die anderen Klassen spezialisieren die Basisklasse nur in einer zusätzlichen Funktion,<br />
machen aber was anderes. In einer weiteren Klasse möchte ich die Funktionalität dieser Klassen benutzen, bei mir sieht das so aus:</p>
<pre><code class="language-cpp">class CEffect {
   [...]
};

class CMyEffect1 {
   : public CEffect
public:
   [...]
   void Update();
};

class CMyEffect2 {
   : public CEffect
public:
   [...]
   void Update();
};
</code></pre>
<p>In einer anderen Klasse möchte ich dann die Funktionalität allgemein nutzen, ohne sagen zu müssen, welche Klasse ich habe. ich weiß, dass das nicht so<br />
einfach möglich ist, aber letztenende soll es in etwa so aussehen:</p>
<pre><code class="language-cpp">class CMyClass {
   CEffect* pMyEffect1;
   CEffect* pMyEffect2;

   void do() {
      pMyEffect1 = new CMyEffect1();
      pMyEffect1-&gt;Update();

      pMyEffect2 = new CMyEffect2();
      pMyEffect2-&gt;Update();
};
</code></pre>
<p>Kann man das irgendwie realisieren? In Java war das glaube ich durch die<br />
Nutzung von Interfaces und abstrakten Klassen möglich, in C++ hab ich das<br />
bisher nicht geschafft.</p>
<p>Norman.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1483688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1483688</guid><dc:creator><![CDATA[Norman0406]]></dc:creator><pubDate>Mon, 31 Mar 2008 12:54:24 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Ableitung und Verallgemeinerung on Mon, 31 Mar 2008 11:52:53 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Das geht doch ganz einfach. Update muss in der Basisklasse virtual (evtl. auch abstrakt) sein. Wenn du dann in den abgeleiteten Klassen dies Update-Methode ebenfalls implementierst wird bei deinem unteren Code schon die korrekte Funktion aufgerufen (Polymorphie).<br />
<a href="http://tutorial.schornboeck.net/virtual.htm" rel="nofollow">http://tutorial.schornboeck.net/virtual.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1483695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1483695</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 31 Mar 2008 11:52:53 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Ableitung und Verallgemeinerung on Mon, 31 Mar 2008 12:54:07 GMT]]></title><description><![CDATA[<p>Wow, hätte nicht gedacht dass es so einfach ist.<br />
Klappt einwandfrei, danke!</p>
<p>MfG,<br />
Norman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1483737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1483737</guid><dc:creator><![CDATA[Norman0406]]></dc:creator><pubDate>Mon, 31 Mar 2008 12:54:07 GMT</pubDate></item></channel></rss>