The easy way to program object copying is via copy constructors. A copy constructor takes a single parameter of the same type as the surrounding class.
It is sometimes useful to have a constructor that creates an identical copy of an existing object
The use of copy constructors is particularly useful when we deal with mutable objects
Read more about Copy constructors in the text book version of this material.