Różne parametry konstruktora

0

Cześć

Chciałem zapytać o dwie kwestie.
Mam kod:

public class Punkt {
    int x;
    int y;

    public Punkt(){ }

    public Punkt(int a, int b){
        x = a;
        y = b;
    }

    public Punkt(Punkt pkt){
        x = pkt.x;
        y = pkt.y;
    }
} 

Pierwszy konstruktor jest dla mnie jasny ale drugiego nie rozumiem.
Ten drugi to konstruktor typu klasy w, której się znajduje? Co mi daje taki konstruktor?

I druga kwestia. Mam wiele pytań tego typu, gdzie rozumiem np. jak działają konstruktory ale nie radze sobie z konkretnymi przykładami. Czy jest jakieś miejsce gdzie mogę zadawać więcej takich pytań? Myślałem o GitHubie ale nie wiem dokładnie jak wygląda specyfika korzystania z tego miejsca - czy tam mi pomogą?

0

JedyJto konstruktor kopiujacy foo

2
rubesom napisał(a):

Ten drugi to konstruktor typu klasy w, której się znajduje?
Ten drugi to konstruktor kopiujący.

Co mi daje taki konstruktor?
Daje możliwość inicjalizacji nowego obiektu istniejącym obiektem. Wyobraź sobie, że klasa zamiast 2 ma 10 pól. Jeśli chcesz stworzyć nowy obiekt, który ma takie same wartości pól jak inny istniejący obiekt, to wolisz przekazać 1 obiekt, czy 10 zmiennych?

Czy jest jakieś miejsce gdzie mogę zadawać więcej takich pytań?
Dział Newbie tego forum jest całkiem dobrym miejscem. Pod warunkiem, że pytania będą sensownie opisane i formatowane.

0

w powyższym przypadku konstruktor kopiujący powinien wyglądać tak

public Punkt(const Punkt &pkt)

1 użytkowników online, w tym zalogowanych: 0, gości: 1