Ganz kurze Frage zu Klassen, warum gibt der Compiler das aus?!
-
Nein, das ist nur ein Übungsprogramm, da gehts nur um das Verständnis nicht um den Sinn dahinter
Sorry hatte einen Fehler im Text!
void operator+(G g) { x++; y--; g.x++; g.y--; }
der Abschnitt lautet so!
-
downandout schrieb:
Nein, das ist nur ein Übungsprogramm, da gehts nur um das Verständnis nicht um den Sinn dahinter
Das Ändert nix, dass du dir eine schlechte Syntax angewöhnst, aber nun das sind deine C++ Kentnisse.
-
Ich habe das Programm nicht geschrieben, ich muss es nur zu einem Test beherrschen... kannst bitte nochmal drübergucken habe leider einen Fehler in der Angabe gehabt, weil ich vorher rumprobiert habe
-
G ist eine lokale Kopie im Scope und wird danach gelöscht, du brauchst eine Referenz auf das Objekt.
-
Falsches Forum, besser wäre C++.
-
Zeus schrieb:
G ist eine lokale Kopie im Scope und wird danach gelöscht, du brauchst eine Referenz auf das Objekt.
void operator+(G g) {
x++; y--;
g.x++; g.y--;Ich habe a+b, also wird von a x und y jeweils um eines erhöht.
aber g.x++; g.y--; wird ja auch ausgeführt und müsste ja da b für g übergeben wurde auch erhöht werden oder?Die Änderungen werden ja bei x++; y--; auch durchgeführt oder?
Sorry, aber ich verstehe es immer noch nicht ganz...
-
void operator+(G g) { x++; y--; g.x++; g.y--; }
Dein g von Type G ist nach dem Funktionsaufruf gelöscht.
Teste mal dies:
void operator+(G& g) { x++; y--; g.x++; g.y--; }
-
Dankeschön ich glaube ich habs verstanden
Tüftle schon ewig daran, danke
-
Zeus schrieb:
downandout schrieb:
Nein, das ist nur ein Übungsprogramm, da gehts nur um das Verständnis nicht um den Sinn dahinter
Das Ändert nix, dass du dir eine schlechte Syntax angewöhnst, aber nun das sind deine C++ Kentnisse.
Was ein Schwachsinn.
Wenn es um das Verständnis von Details geht ist es eher förderlich eine Sprache auszureizen und "hässliche" Konstrukte zu schreiben.
-
Gunslinger schrieb:
Zeus schrieb:
downandout schrieb:
Nein, das ist nur ein Übungsprogramm, da gehts nur um das Verständnis nicht um den Sinn dahinter
Das Ändert nix, dass du dir eine schlechte Syntax angewöhnst, aber nun das sind deine C++ Kentnisse.
Was ein Schwachsinn.
Wenn es um das Verständnis von Details geht ist es eher förderlich eine Sprache auszureizen und "hässliche" Konstrukte zu schreiben.
Du hast ja nicht mal meine Kritik verstanden, daher solltest du lieber still sein. Oder Sag mir warum es aus irgendeinen Grund besser ist nicht die Initalisierungsliste zu nehmen? Na?