problem mit verschachtelten funktionen
-
hi,
ich habe ein problem mit einer verschachtelung von funktionen in bezug auf klassen. hier ein beispielcode zur näheren erklärung:
class Klasse { protected: int wert1; public: Klasse(); ~Klasse(); void funktion(); int veraendere_wert(int); }; Klasse::Klasse() { wert1=0; } int Klasse::veraendere_wert(int wert) { wert+=10; return (wert); } void Klasse::funktion() { //... veraendere_wert(wert1); } void main() { Klasse k1; k1.funktion(); cout<<"wert: "<<k1.wert1<<endl;//ausgabe hier 0 }
die funktion "funktion()" beinhaltet einen aufruf der funktion "veraendere_wert()", in der nun wert1 verändert werden soll. Bei der ausgabe in der Hauptschleife kommt aber eine 0 heraus. Könnt ihr mir helfen?
Gruß Lars
-
die funktion verändert den wert nicht sondern lediglich die kopie des übergebenen Parameters der bei aufruf der funktion auf dem Stack erstellt wird...
google mal nach call by value, call by reference oder bemühe die forumssuche danach dann sollte dir das problem klar werden...