<?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[Aufruf einer Funktion in allen existierenden Klassen eines Typs?]]></title><description><![CDATA[<p>Man stelle sich folgendes Szenario vor:<br />
Ich habe eine &quot;Hauptklasse&quot; ( z.B CBase ) von der ich einen ganzen Haufen anderer Klassen ableite.</p>
<p>Jetzt sagen wir ich habe 10 von CBase abgeleitete Klassen, und ich möchte bei all diesen Klassen eine Funktion aufrufen welche in CBase definiert ist.</p>
<p>Gibt es eine Möglichkeit einen Funktionsaufruf in allen existierenden Klassen eines Types durchzuführen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/206458/aufruf-einer-funktion-in-allen-existierenden-klassen-eines-typs</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 11:02:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206458.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 25 Feb 2008 13:06:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 13:06:38 GMT]]></title><description><![CDATA[<p>Man stelle sich folgendes Szenario vor:<br />
Ich habe eine &quot;Hauptklasse&quot; ( z.B CBase ) von der ich einen ganzen Haufen anderer Klassen ableite.</p>
<p>Jetzt sagen wir ich habe 10 von CBase abgeleitete Klassen, und ich möchte bei all diesen Klassen eine Funktion aufrufen welche in CBase definiert ist.</p>
<p>Gibt es eine Möglichkeit einen Funktionsaufruf in allen existierenden Klassen eines Types durchzuführen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1462440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462440</guid><dc:creator><![CDATA[RedPuma]]></dc:creator><pubDate>Mon, 25 Feb 2008 13:06:38 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 13:25:35 GMT]]></title><description><![CDATA[<p>So:</p>
<pre><code class="language-cpp">Basisklasse::narf();
Basisklasse2::narf();
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1462460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462460</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 25 Feb 2008 13:25:35 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 14:13:49 GMT]]></title><description><![CDATA[<p>bei Klassen kannst du Funktionen nur aufrufen, wenn sie static sind, ansonsten sind Funktionen nur fuer Objekte aufrufbar. Und &quot;Alle Klasse eines Typs&quot; ist auch keine besonders geglueckte Ausrucksweise, da jede Klasse einen eigenen Typ darstellt. Was also meinst du genau?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1462498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462498</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 25 Feb 2008 14:13:49 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 14:17:11 GMT]]></title><description><![CDATA[<p>Ich glaube er meint (darauf bezog sich mein vorheriges Beispiel) darauf das wenn im &quot;untersten&quot; Objekt die Funktion X aufgerufen wird, diese auch für alle Klassen von der sie abgeleitet ist, aufgerufen wird.</p>
<p>Macht sogar Sinn:</p>
<pre><code class="language-cpp">struct A{
   int a;
   virtual void print(){ cout &lt;&lt; &quot;A: &quot; &lt;&lt; a &lt;&lt; endl; }
};

struct B : public A{
   int b;
   virtual void print(){ A::print(); cout &lt;&lt; &quot;B: &quot; &lt;&lt; b &lt;&lt; endl; }
};

struct C : public B{
   int c;
   virtual void print(){ B::print(); cout &lt;&lt; &quot;C: &quot; &lt;&lt; c &lt;&lt; endl; }
};
</code></pre>
<p>usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1462501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462501</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 25 Feb 2008 14:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 15:20:42 GMT]]></title><description><![CDATA[<p>Ich stelle mir das so vor:</p>
<pre><code class="language-cpp">class CBase
{
public:
  void Init( void );
};

class CExtra: public CBase
{
public:
  void Init( void ); //Override der Init-Funktion von CBase
};
</code></pre>
<p>Soviel zu den beiden Klassen. Jetzt hab ich folgendes Deklariert:</p>
<pre><code class="language-cpp">CBase BaseClass1;
CBase BaseClass2;
CBase BaseClass3;

CExtra ExtraClass1;
CExtra ExtraClass2;
</code></pre>
<p>Jetzt such ich eine Möglichkeit die ganzen Init()-Funktionen der hier deklarierten Klassen mit einem Befehl aufzurufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1462565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462565</guid><dc:creator><![CDATA[RedPuma]]></dc:creator><pubDate>Mon, 25 Feb 2008 15:20:42 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 15:25:57 GMT]]></title><description><![CDATA[<p>Wie wäre es mit dem Standardkonstruktor? Da Init keine Parameter bekommt und du anscheinend zwischen der Definition und dem Punkt des gewollten Aufrufs nichts machst, wäre das wohl ausreichend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1462571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462571</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 25 Feb 2008 15:25:57 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 15:32:37 GMT]]></title><description><![CDATA[<p>Das Init ist nur ein Beispiel.<br />
Ich bin grad dabei eine mini-2d engine zu programmieren und will jedes Frame z.B. eine Funktion zum Position setzen ( abhängig von der Geschwindigkeit des Objektes ) aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1462578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462578</guid><dc:creator><![CDATA[RedPuma]]></dc:creator><pubDate>Mon, 25 Feb 2008 15:32:37 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 15:33:45 GMT]]></title><description><![CDATA[<p>Zuerst einmal solltest du ueberpruefen, ob es wirklich eine gute Idee ist, konkrete Basisklassen zu haben (ist es meist nicht). Allgemein, wenn du fuer einen Haufen Objekte, die zu Klassen mit einem gemeinsamen Basistyp gehoeren, aehnliche FUnktionen aufrufen willst, dann laeuft das normalerweise so:</p>
<p>- In der Basisklasse hast du eien (rein) virtuelle Funktion deklariert<br />
- In den abgeleiteten Klasse hast du sie definiert<br />
- Statt einigen automatischen Objekten hast du einen Container von (smart)pointern auf die Basisklasse<br />
- in einer Schleife dereferenzierst du fuer jedes Containerelement den jeweiligen (smart)pointer und rufst die gewuneschte methode auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1462579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462579</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 25 Feb 2008 15:33:45 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Mon, 25 Feb 2008 21:31:24 GMT]]></title><description><![CDATA[<p>Ich denke das müsste meinen Zweck erfüllen, ich muss also doch eine &quot;Liste&quot; mit Pointern anlegen, so wie ich mir das auch ursprünglich Gedacht habe. Mir ist in diesem Zusammenhang nur ein normales Array von Pointern eingefallen, was aber viel zu umständlich wäre. Container dagegen sind eine gute Idee. Smart-Pointer werde ich mir bei Gelegenheit mal zu Gemüte führen, muss zugeben dass ich erst mal Googlen musste...man lernt ja nie aus <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1462868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462868</guid><dc:creator><![CDATA[RedPuma]]></dc:creator><pubDate>Mon, 25 Feb 2008 21:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion in allen existierenden Klassen eines Typs? on Tue, 26 Feb 2008 07:18:30 GMT]]></title><description><![CDATA[<p>Die Gelegenheit sollte möglichst bald sein, die Dinger können dir einige Speicherlecks udn Kopfzerbrechen sparen <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="😉"
    /><br />
hier kann man gut anfangen:<br />
<a href="http://www.boost.org/libs/smart_ptr/smart_ptr.htm" rel="nofollow">http://www.boost.org/libs/smart_ptr/smart_ptr.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1462980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1462980</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 26 Feb 2008 07:18:30 GMT</pubDate></item></channel></rss>