Dlaczego tak
Klasa to opis typu, a obiekt to jego egzemplarz utworzony operatorem new. Zdefiniowano dwie klasy: Punkt i Odcinek. Każdy obiekt Odcinek przy tworzeniu inicjuje pola a i b dwoma nowymi obiektami Punkt. Instrukcje z new Odcinek() wykonują się dwa razy, co daje 2 odcinki i 4 punkty, czyli 6 obiektów. Przypisanie o2 = o1 kopiuje tylko referencję, więc odpowiedź 3 obiekty myli zmienne z obiektami.