Hallo Leute,
ich glaube ich stehe gerade etwas auf dem Schlauch...
Ich habe eine Klasse mit einigen Variablen und ein Array:
in meinem Programm kommt es nun öfter vor, dass bei allen bzw. einer bestimmten Auswahl von Arrayeinträgen eine Variable gesetzt werden soll. Also ungefähr so:
Da die Auswahllogik in Wirklichkeit etwas komplexer ist, als von 0 bis 99 zu zählen, würde ich diesen Part gerne in eine Funktion auslagern. Also zB. so:
Da meine Klasse aber hunderte von Member-Variablen besitzt, müsste ich für jede eine solche Set-Funktion schreiben.
Gibt es stattdessen eine Möglichkeit das in eine Funktion zu packen?
Also ungefähr so:
???
Danke für Eure Hilfe.
ich glaube ich stehe gerade etwas auf dem Schlauch...
Ich habe eine Klasse mit einigen Variablen und ein Array:
Code:
class Ttest{ public: int MyInt; double MyDouble; .... }; Ttest testarray[100];
Code:
for(int i = 0 ; i< 100 ; i++) testarray[i].MyInt = 123; for(int i = 0 ; i< 100 ; i++) testarray[i].MyDouble = 123.321;
Code:
void SetMyInt(int x) { for(int i = 0 ; i< 100 ; i++) testarray[i].MyInt = x; } void SetMyDouble(int x) { for(int i = 0 ; i< 100 ; i++) testarray[i].MyDouble = x; } .... main(){ SetMyInt(123); SetMyDouble(123.321); }
Gibt es stattdessen eine Möglichkeit das in eine Funktion zu packen?
Also ungefähr so:
Code:
template<typename T> SetMember(const string &VarByName,T Wert) { // egal ob per string oder irgendwie anders for(int i = 0 ; i< 100 ; i++) T &VarRef = GetMemberRefByName(testarray[i],VarByName); // so was in der Art??? VarRef = Wert; } ... main() { SetMember("MyInt",123); SetMember("MyDouble",123.321); }
Danke für Eure Hilfe.
Comment