conan2012 hat folgendes geschrieben : |
Kann mir einer Sagen warum er mir anstatt “-5“, “Aufgabe1.Zahl“ ausgibt???
C#-Quelltext 35: 36: 37:
| /* ... */ Console.WriteLine("{0}", Zahl.Sub(z1, z2)); z1.print(); z2.print(); | |
Du versendest einmal direkt
Console.WriteLine und dann die Methode
print. Letzteres sollte die Zahlen korrekt ausgeben, oder?
print übergibt nämlich die Integer-Werte als Parameter, was zur richtigen Ausgabe führt.
Das Problem bei der ersten Anweisung ist, dass du die Instanzen der Klasse
Zahl an
Console.WriteLine übergibst. Sie müssen für die Ausgabe in einen String konvertiert werden und da du nicht definiert hast, wie Instanzen vom Typ
Zahl in Strings umgewandelt werden, wird einfach der Klassenname genommen.
Was du brauchst ist eine
ToString-Methode, die die Konvertierung durchführt:
C#-Quelltext
1: 2: 3:
| public override string ToString() { return wert.ToString(); } |