<?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[Execute class from another]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich würde gerne in einer Klasse eine andere aufrufen, diese ausführen und das Ergebnis dann der ersten Klasse übergeben.<br />
Kann mir einer sagen, welchen Befehl ich dafür brauche?</p>
<p>Vielen Dank,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/218038/execute-class-from-another</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 00:19:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218038.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Jul 2008 07:17:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Execute class from another on Tue, 15 Jul 2008 07:17:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich würde gerne in einer Klasse eine andere aufrufen, diese ausführen und das Ergebnis dann der ersten Klasse übergeben.<br />
Kann mir einer sagen, welchen Befehl ich dafür brauche?</p>
<p>Vielen Dank,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547488</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Tue, 15 Jul 2008 07:17:52 GMT</pubDate></item><item><title><![CDATA[Reply to Execute class from another on Tue, 15 Jul 2008 07:22:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Du kannst Klassen nicht ausführen, lediglich deren Memberfunktionen. Halte in der einen Klasse eine membervariable vom Typ der anderen Klassen. Dann kannst du darin aufrufen was du willst.</p>
<pre><code class="language-cpp">class A
{
  public:
    void foo() {// irgendwas};
};

class B
{
  private:
    A Avar;  //Membervariable vom Typ A
  public:
    void bar()
    {
      Avar.foo(); // Aufruf der Memberfunktion von A
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1547491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547491</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 15 Jul 2008 07:22:16 GMT</pubDate></item><item><title><![CDATA[Reply to Execute class from another on Tue, 15 Jul 2008 07:32:30 GMT]]></title><description><![CDATA[<p>Naja einen &quot;Befehl&quot; wie du es dir vorstellst gibt es da nicht. Du musst dir dafür eine eigene Funktion schreiben die zum Beispiel ein Objekt der einen Klassen aufnimmt damit arbeitet und es zurückgibt. Möglichst sollte dann diese Funktion eine Methode deiner anderen Klassen sein. Ich hoffe ich habe dich richtig verstanden.</p>
<p>EDIT:Too Late <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547494</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Tue, 15 Jul 2008 07:32:30 GMT</pubDate></item><item><title><![CDATA[Reply to Execute class from another on Tue, 15 Jul 2008 07:42:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke für die schnellen Antworten.<br />
Ich werde mal versuchen mit diesen Membervariablen zu arbeiten.</p>
<p>Vielleicht zur Motivation warum ich das machen will. Ich habe ein bestimmtes Programm, welches ich immer verwende und deshalb auch nicht verändern möchte. Nun wollte ich verschiedene Analysemodule entwickeln und je nach Bedarf verwenden nach dem Motto jetzt Analyse A.. usw.<br />
Da ich diese häufig ändere, wollte ich sie eben nicht im Hauptcode haben.</p>
<p>Grüße,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547504</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Tue, 15 Jul 2008 07:42:01 GMT</pubDate></item><item><title><![CDATA[Reply to Execute class from another on Tue, 15 Jul 2008 08:12:17 GMT]]></title><description><![CDATA[<p>Dafür könnte man auch ein Interface bereitstellen, und dann verschiedene Analysemodule implementieren, die dieses Interface befriedigen:</p>
<pre><code class="language-cpp">//das Interface
struct Analyzer
{
    virtual void analyze(AnalyzeDataType&amp; data) = 0;
};

//das &quot;Hauptprogramm&quot;
class Hauptprogramm
{
   public:
   //...
   void setAlanysizer(Analyzer&amp; analyzer)
   {
       currentAnalyzer = &amp;analyzer;
   }

   void someFunctionThatUsesTheAnalyzer()
   {
       currentAnalyzer-&gt;analyze(data);
   }
   //...
   private:
       Analyzer* currentAnalyzer;
};

//ein Analyzer
class AnalyzeTypeA : public Analyzer
{
   //...
   void analyze(AnalyzeDataType&amp; data)
   {
        //...
   }
   //...   
};

//noch ein Analyzer
class AnalyzeTypeB : public Analyzer
{
   //...
   void analyze(AnalyzeDataType&amp; data)
   {
        //...
   }
   //...   
};

int main()
{
    Hauptprogramm hpg;
    //...
    //AnalyzeTypeA benutzen
    AnalyzeTypeA anaA;    
    hpg.setAlanysizer(anaA);
    //...
    //AnalyzeTypeB benutzen
    AnalyzeTypeB anaB;    
    hpg.setAlanysizer(anaB);
    //...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1547519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547519</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 15 Jul 2008 08:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to Execute class from another on Tue, 15 Jul 2008 09:31:10 GMT]]></title><description><![CDATA[<p>grobian schrieb:</p>
<blockquote>
<p>ich würde gerne in einer Klasse eine andere aufrufen, diese ausführen und das Ergebnis dann der ersten Klasse übergeben.</p>
</blockquote>
<p>Noch eine Anmerkung: Versuch dir mal den Unterschied zwischen Klassen und Objekten klar zu machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547550</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 15 Jul 2008 09:31:10 GMT</pubDate></item><item><title><![CDATA[Reply to Execute class from another on Tue, 15 Jul 2008 16:56:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke noch mal für die Antworten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Wahrscheinlich war die Frage falsch formuliert.</p>
<p>Grüße,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547792</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Tue, 15 Jul 2008 16:56:44 GMT</pubDate></item></channel></rss>