nIn every class, the compiler automatically supplies both
a copy constructor and an
assignment operator if we don't
explicitly provide them.
nBoth of these member functions perform copy operations by performing a memberwise copy from one object to another.
nIn situations where pointers are not members of a class,
memberwise copy is an adequate
operation for copying objects.
nHowever, it is not adequate when data members point to memory dynamically allocated within the class.