String an Object übergeben !



  • Hallo,

    wie kann ich in C++ an ein Object ein String als Variable übergeben.
    Also:

    Object->Variable=20; und jetzt hab ich die Variable als CString vorliegen,

    also:

    CString test="Variable";
    Object->test=20; ??????

    Wie lauten die Übergabeparameter in C++ ?

    Danke

    Gruß Euro.



  • Weiß nicht, ob dich verstanden habe. Du willst nen dynamischen Lookup von Membervariablen? C++ ist statisch.

    Kannst aber ne Map verwenden:

    sutrct DeinTollesObject {
       std::map<std::string, int> foo;
       ...
    };
    
    DeinTollesObject object;
    
    object.foo["Variable"] = 20;
    


  • Hallo danke für die Antwort,

    ähm glaub des hilft mir nur bedingt.
    Die Sache sieht genauer so aus:

    Es gibt eine Classe Image. In dieser Classe gibt es einen Struct Para, dieser hat als Variablen 3 double a,b,c.
    Dan hab ich mehrere Objecte:

    Para test1;
    Para test2;

    Nun hab ich ja Image->test1.a Image->test1.b usw.

    Ich bekomme jetzt aus nem Textfile als CString wert=test1.a zurück.
    Nun will ich mit:

    Image->wert=20; etwas in diese Variable schreiben. Der Kompiler mag aber:
    Image->wert nicht auch Image->&wert mag er nicht.

    Wie setzte ich so etwas um ?

    Danke Gruß Euro.



  • eurofreddy schrieb:

    Wie setzte ich so etwas um ?

    Das geht in C++ nicht direkt. Du kannst, wie Helium schon sagte, eine Map benutzen.



  • Ehm, du willst sowas:

    class MyClass {
        public void ichWillEinenString(const CString &str) {
          //...
       }
    };
    
    myobj.ichWillEinenString(string);
    


  • So würd ich das auch machen, mit get- und set-Methoden und Para vieleicht als array von structs oder wegen der OOP als Klasse.

    getPara(int para_nr, char para_part){ 
        ...
      }
    
      setPara(int para_nr, char para_part, string neu){
        ...
      }
    

    para_nr stellt die konkrette para struct dar und para_part das was du genau gaben willst


Anmelden zum Antworten