unbestimmte klasse handeln



  • WhileTrueDo schrieb:

    dass ist schlecht zu beschreiben. ich muss die verschiedenen klassen gleich ansprechen können. ich muss GTexCube und GTexSphere beide mit Map ansprechen können , sodass ich sagen kann Map->Update().
    ungefähr so :

    Könnte es sein, daß Dir das Stichwort virtual weiter hilft?

    mfg Martin



  • WhileTrueDo schrieb:

    dass ist schlecht zu beschreiben. ich muss die verschiedenen klassen gleich ansprechen können. ich muss GTexCube und GTexSphere beide mit Map ansprechen können , sodass ich sagen kann Map->Update().

    Sind GTexCube & GTexSphere deine Klassen / hast du sie selbst geschrieben?
    Erben die Beiden vielleicht von der selben Base-Klasse?

    Du musst uns dein Problem / deine Aufgabe schon etwas genauer schildern, damit wir dir helfen können.



  • ja , selbst geschrieben aber ohne vererbung.
    ps : tut mir echt leid ich weis immer nicht was ich dazu schreiben soll (bitte keinen wie stelle ich meine frage richtig link):D


  • Mod

    WhileTrueDo schrieb:

    ja , selbst geschrieben aber ohne vererbung.
    ps : tut mir echt leid ich weis immer nicht was ich dazu schreiben soll (bitte keinen wie stelle ich meine frage richtig link):D

    Es wäre ein Anfang, normale Worte zu benutzen und vollständige Sätze zu bilden. "unbestimmte klassen handeln" - Ich kenne zwar jedes dieser Wörter, aber die Aussage macht keinen Sinn. Wenn du Deutsch nicht richtig kannst, versuch es in einer Sprache, die du besser beherrscht.



  • das problem besteht nicht darin dass ich der deutschen sprache nicht mächtig bin , sondern darin dass man bzw. ich dieses problem schlecht schildern kann


  • Mod

    WhileTrueDo schrieb:

    das problem besteht nicht darin dass ich der deutschen sprache nicht mächtig bin , sondern darin dass man bzw. ich dieses problem schlecht schildern kann

    So schwer kann das doch nicht sein. Allein schon "unbestimmte klasse handeln". Was soll das heißen? Ich kenne alle drei Wörter, aber zusammen gibt die Aussage keinen Sinn. So wie du es schreibst ("ich habe ein kleines problem undzwar muss ich für mein programm ein paar unbestimmte klassen handeln") wäre sogar die einzig grammatikalisch gültige Interpretation, dass du Handel betreiben möchtest. Kann ich mir irgendwie nicht vorstellen. Also mach's mal wie in der Grundschule und füg ein paar Objekte und Adjektive in den Satzbau ein, achte dabei auf Zeichensetzung und Grammatik. Dann kann man vielleicht erraten, was du möchtest, selbst wenn du nicht weißt, wie du es technisch korrekt beschreiben kannst.
    Ich rate schon einmal, dass du irgendeine Handlung durchführen möchtest. Aber welche? Und was hat dies mit den Klassen zu tun? Inwiefern sind diese "unbestimmt"?

    P.S.: Da du quasi da drum bettelst, auch wenn du dich sträubst:
    http://www.tty1.net/smart-questions_de.html#writewell 🙂



  • WhileTrueDo schrieb:

    ps : tut mir echt leid ich weis immer nicht was ich dazu schreiben soll (bitte keinen wie stelle ich meine frage richtig link):D

    Na dann ist die Sache ja einfach: du bist nicht fähig die Frage verständlich zu stellen + du willst keine Hilfestellung zum Frage-richitg-stellen + wir können nicht hellsehn => Game Over.



  • WhileTrueDo schrieb:

    das problem besteht nicht darin dass ich der deutschen sprache nicht mächtig bin , sondern darin dass man bzw. ich dieses problem schlecht schildern kann

    Wenn Du das Problem nicht erfassen kannst, dann hast Du offensichtlich 'nen falschen Job gewählt.

    mfg Martin



  • Oh, ich dachte erst das hier ist nen lustiger Trollpost, wegen "Object handle". Aber das war ernst gemeint 😮



  • WhileTrueDo schrieb:

    ja , selbst geschrieben aber ohne vererbung.
    ps : tut mir echt leid ich weis immer nicht was ich dazu schreiben soll (bitte keinen wie stelle ich meine frage richtig link):D

    Vererbung ist in diesem Fall die einzige vernünftige Lösung.
    Du musst die beiden Klassen von einer gemeinsamen Base-Klasse erben lassen, die für die Child-Klassen eine überschreibbare Update funktion zur Verfügung stellt.

    class IGTex
    {
    public:
      virtual void Update(/*whatever*/) = 0;
      // Wobei Update nicht pure virtual sein muss.
    };
    
    class GTexCube: public IGTex
    {
      //...
    public:
      void Update(/*whatever*/) override { /*...*/ }
    
      // Das obige ist C++11, in < C++11 sehe das so aus:
         virtual void Update(/*whatever*/) { /*...*/ }
      //
    
      //...
    };
    

    Und dann das gleiche auch noch für GTexSphere.
    Danach kannst du Instanzen beider Klassen über das IGTex Interface "handlen":

    //...
    IGTex *gTex;
    GTexCube myCube;
    GTexSphere mySphere;
    
    gTex = &myCube;
    gTex->Update(/*whatever*/);
    
    gTex = &mySphere;
    gTex->Update(/*whatever*/);
    

Anmelden zum Antworten