First, open the ArrayPoint.h and ArrayPoint.cpp files and familiarize yourself with the interface and implementation. You'll find it is just two very simple representations of a point. One using ...
Given the assignment operator typically (and is encouraged to) return T&, this creates a non-obvious danger (if admittedly rare to encounter), and subtly breaks from the principle of "do as the ints ...