Klasse als Parameter



  • "class" ist ja auch ein Schlüsselwort, das kannst du nicht als Bezeichner für einen Datentyp verwenden.

    Andere Frage: Was genau hast du eigentlich vor?



  • CStoll schrieb:

    "class" ist ja auch ein Schlüsselwort, das kannst du nicht als Bezeichner für einen Datentyp verwenden.

    Wie soll ich das dann machen?



  • #JP schrieb:

    CStoll schrieb:

    "class" ist ja auch ein Schlüsselwort, das kannst du nicht als Bezeichner für einen Datentyp verwenden.

    Wie soll ich das dann machen?

    Gegenfrage: siehe den Teil meines Beitrag, den du gerade weggelassen hast 😉



  • CStoll schrieb:

    #JP schrieb:

    CStoll schrieb:

    "class" ist ja auch ein Schlüsselwort, das kannst du nicht als Bezeichner für einen Datentyp verwenden.

    Wie soll ich das dann machen?

    Gegenfrage: siehe den Teil meines Beitrag, den du gerade weggelassen hast 😉

    Ich programmiere gerade für ein Spiel an einer Welt-Klasse, und dieser kann man per Funktion ein Objekt (Pflanze, Mensch, Tier usw.) hinzufügen. Und dieses Objekt soll eben durch verschiedene Variablen und Funktionen in einer Klasse stehen.



  • Das heißt, du willst eine Funktion, die dir zur Laufzeit verschiedene Objekte liefern kann? Da wäre wohl "virtueller Konstruktor" der richtige Suchbegriff für dich.



  • CStoll schrieb:

    Das heißt, du willst eine Funktion, die dir zur Laufzeit verschiedene Objekte liefern kann? Da wäre wohl "virtueller Konstruktor" der richtige Suchbegriff für dich.

    Nicht so ganz. Der Anwender soll durch eine Funktion der Welt ein Ding hinzufügen. Dieses Ding wird näher in einer Klasse beschrieben. Z.b. der Name, die Art des Dings (Stein, Hund Katzte usw.), auch den Zustand (tot, schlafend, essend usw.)
    Ich hoffe du verstehst das.



  • Und wo ist jetzt das Problem? Dann übergibst du halt ein Objekt mit den nötigen Daten:

    class Weltobjekt
    {
      string name;
      ...
    };
    
    void InsertObjekt(Weltobjekt obj)
    {
      ...
    }
    


  • CStoll schrieb:

    Und wo ist jetzt das Problem? Dann übergibst du halt ein Objekt mit den nötigen Daten:

    class Weltobjekt
    {
      string name;
      ...
    };
    
    void InsertObjekt(Weltobjekt obj)
    {
      ...
    }
    

    Stimmt eigentlich...
    Irgendwie hatte ich ein Brett vor dem Kopf...



  • Nur zur info: In C++ gibt es keine Class Objekte wie in Java, wir sind ja schließlich cool.



  • 314159265358979 schrieb:

    Nur zur info: In C++ gibt es keine Class Objekte wie in Java, wir sind ja schließlich cool.

    Wir sind die coolen Boys von C++ 😉


Anmelden zum Antworten