It is possible to change the value of the coordinates of Points
by using the assignment operator =
(Point::operator=()) or the function Point::set()
(with appropriate arguments):
Point pt0(2, 3.3, 7);
Point pt1;
pt1 = pt0;
pt0.set(34, 99, 107.5);
pt0.show("pt0:");
-| pt0: (34, 99, 107.5)
pt1.show("pt1:");
-| pt1: (2, 3.3, 7)
In this example, pt0 is initialized with the coordinates (2, 3.3, 7),
and pt1 with the coordinates (0, 0, 0).
pt1 = pt0 causes pt1 to have the same coordinates as
pt0, then the coordinates of pt0 are changed to (34,
99, 107.5). This doesn't affect pt1, whose coordinates remain
(2, 3.3, 7).
Another way of declaring and initializing Points is by using the
copy constructor:
Point pt0(1, 3.5, 19);
Point pt1(pt0);
Point pt2 = pt0;
Point pt3;
pt3 = pt0;
In this example, pt1 and pt2 are both declared and
initialized using the copy constructor; Point pt2 = pt0 does not
invoke the assignment operator. pt3, on the other hand, is
declared using the default constructor, and not initialized. In the
following line, pt3 = pt0 does invoke the assignment operator,
thus resetting the coordinate values of pt3 to those of
pt0.