Cześć, uczę się z książki Marcina Lisa pod tytułem C# Praktyczny poradnik i natrafiłem na problem. Obecnie jestem na ćwiczeniu 15.2, a treść jest następująca "W klasie Punkt z listingu 3.16 zmień kod metod UstawX i UstawY, tak aby zwracały one poprzednią wartość zapisywanych pól. Zadaniem metody UstawX jest więc zmiana wartości pola x i zwrócenie jego poprzedniej wartości. Metoda UstawY ma wykonywać analogiczne zadania w stosunku do pola y." Chciałbym pobrać poprzednią wartość pola x, y z klasy Punkt. Mógłby mnie ktoś pokierować bądź wskazać co przeczytać, żeby zrozumieć swój błąd. W rozwiązaniach M.Lisa jest identyczne rozwiązanie do mojego.
using System;
class Punkt
{
int x;
int y;
int PobierzX()
{
return x;
}
int PobierzY()
{
return y;
}
void UstawXY(int wspX, int wspY)
{
x = wspX;
y = wspY;
}
int ustawX(int wspX)//nie dziala
{
int temporary = x;
x = wspX;
return temporary;
}
int ustawY(int wspY)//nie dziala
{
int temporary = y;
y = wspY;
return temporary;
}
void WyswietlWspolrzedne()
{
Console.WriteLine("współrzędna x = " + x);
Console.WriteLine("współrzędna y = " + y);
}
static void Main()
{
Punkt pierwszyPunkt = new Punkt();
Punkt drugiPunkt = new Punkt();
Punkt trzeciPunkt = new Punkt();
pierwszyPunkt.UstawXY(100, 100);
Console.WriteLine("pierwszyPunkt:");
pierwszyPunkt.WyswietlWspolrzedne();
drugiPunkt.UstawXY(400,400);
Console.WriteLine("\ndrugiPunkt:");
drugiPunkt.WyswietlWspolrzedne();
Console.WriteLine("\ntrzeciPunkt:");
Console.WriteLine("współrzędna poprzedniego x = " + trzeciPunkt.ustawX(500));//dlaczego 0
Console.WriteLine("współrzędna poprzedniego y = " + trzeciPunkt.ustawY(500));//dlaczego 0
Console.WriteLine(trzeciPunkt.x);
Console.WriteLine(trzeciPunkt.y);
}
}