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
.