Einem Objekt vom user einen Namen zuweisen lassen



  • Ich habe eine Klasse Tier und möchte dem Benutzer im Hauptprogramm ein neues Tier benennen lassen und einem neuen Objekt von Tier diesen Namen geben. Wie geht das, bzw. geht das überhaupt?

    alsways think about it: breathedeepandeasy



  • class Tier{
    std::string name;
    public:
    Tier (std::string n):name(n){}
    };
    
    ...
    
    Tier t ("Schwan");
    Tier b ("Elefant");
    

    ? 🙄

    Ansonsten musst du dich genauer ausdrücken, was du willst. (Wenn möglich mit ein wenig Code).



  • es wird auf std::map hinauslaufen, wenn man die überschrift anschaut.



  • breathe_easy schrieb:

    Ich habe eine Klasse Tier und möchte dem Benutzer im Hauptprogramm ein neues Tier benennen lassen und einem neuen Objekt von Tier diesen Namen geben. Wie geht das, bzw. geht das überhaupt?

    Also kurz zusammen gefasst:
    a) Du kannst Objekte auch dynamisch erstellen, daher ist der Teil möglich
    b) Variablennamen existieren zur Laufzeit nicht mehr, sind also auch nicht setzbar
    c) Eigenschaften kannst du natürlich immer Setzen (wie z.b. im Beispiel von drakon sichtbar).
    d) Um Daten dynamisch zu halten brauchst du Container (z.B. std::vector, std::list, std::map...).
    e) Was schon von "ich denek" angedeutet wurde ist die möglichkeit std::map zu verwenden, konkret ist das ein Container der mit Schlüssel/Wertepaaren arbeitet. Falls du also Objekte über einen String ansprechen möchtest, könntest du mit std::string als Typ für den Schlüssel hantieren, der Wert ist dein Objekttyp (Bei polymorphen Objekten ein Zeiger).

    Aber wie "drakon" schon meinte: Es fehlen Informationen. Oder um Nummer 5 zu ziteren: "Brauche mehr Input".

    cu André



  • Nummer 5 lebt???



  • Vorden schrieb:

    Nummer 5 lebt???

    Glaube, ist aber schon seeehhhhrrr lange her. ;p



  • Vilen Dank! Das ist schon die Antwort auf meine Frage!



  • Vielen Dank!


Anmelden zum Antworten