Dzień dobry.
Uczę się programowania w C#. Przerabiam właśnie książkę Marcina Lisa "C# Praktyczny kurs" wyd. Helion.
Szukam podpowiedzi do zadania dotyczącego konstruktorów.
Treść zadania:
Napisz klasę Kwadrat przechowującą informację o kwadracie. Klasa powinna mieć konstruktory umożliwiające przekazanie parametrów o następujących znaczeniach:
a) współrzędne lewego górnego rogu oraz prawego dolnego
b) współrzędne lewego górnego rogu oraz długość boku
c) współrzędne środka i długość boku
d) współrzędne środka i pole
Mam problem z podpunktem c) i d). Utknąłem na tym, że nie mogę dodać kolejnego konstruktora o tych samych argumentach. W podpunkcie c) chciałbym użyć jako argumentów tablicy int jako współrzędne środka oraz int jako długość boku. W podpunkcie d) analogicznie.
Jestem świadom, że konstruktorów może być więcej, ale muszą różnić się rodzajem argumentów.
Proszę o podpowiedź - nie rozwiązanie ;)
Wszelkie inne uwagi mile widziane - pewnie sporo powinienem mieć na sumieniu ;)
*Pewnie powinienem użyć typów zmiennoprzecinkowych zamiast int bo przecież punkty czy wymiar kwadratu nie musi być liczbą całkowitą, ale tutaj chodzi mi raczej o przećwiczenie działania konstruktorów.
klasa Kwadrat:
using System;
namespace ConsoleApp19
{
public class Kwadrat
{
/*
LD - lewy dolny róg
PD - prawy dolny róg
PG - prawy górny róg
LG - lewy górny róg
SR - środek kwadratu
*/
public int[] LD = new int[2];
public int[] PD = new int[2];
public int[] PG = new int[2];
public int[] LG = new int[2];
public int[] SR = new int[2];
public Kwadrat(int[] LG, int[] PD)
{
this.LG = LG;
this.PD = PD;
LD[0] = LG[0];
LD[1] = PD[1];
PG[0] = PD[0];
PG[1] = LG[1];
}
public Kwadrat(int[] LG, int dlugosc)
{
LD[0] = LG[0];
LD[1] = LG[1] - dlugosc;
PD[0] = LD[0] + dlugosc;
PD[1] = LD[1];
PG[0] = PD[0];
PG[1] = LG[1];
this.LG[0] = LG[0];
this.LG[1] = LG[1];
}
//public Kwadrat(int[] SR, int dlugosc)
//{
//}
public void wyswietl()
{
Console.WriteLine(LD[0] + " " + LD[1]);
Console.WriteLine(PD[0] + " " + PD[1]);
Console.WriteLine(PG[0] + " " + PG[1]);
Console.WriteLine(LG[0] + " " + LG[1]);
}
}
}
klasa Program:
using System;
namespace ConsoleApp19
{
class Program
{
public static void Main()
{
int[] lewygora = new int[2] { 1, 3 };
int[] prawydol = new int[2] { 3, 1 };
int x = 2;
Kwadrat kwadrat1 = new Kwadrat(lewygora, prawydol);
kwadrat1.wyswietl();
Console.WriteLine();
Kwadrat kwadrat2 = new Kwadrat(lewygora, x);
kwadrat2.wyswietl();
Console.WriteLine();
Console.ReadKey();
}
}
}
Pozdrawiam!