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