$\require{cancel}$
ArrayT(const ArrayT & src);
this
this
to avoid a = a
ArrayT & operator = (const ArrayT & src) { if (this != &src) { // code to do a deep copy of dynamic memory // also do a shallow copy } return *this }