I asked this question about overloading the copy constructor and assignment operator with template versions and considering the confusion involving around the question (sinc
template
BaseClass(const T& a_other)
First of all, this is not a copy-constructor. It is rather a templated constructor.
The copy-constructor should be this:
BaseClass(const BaseClass & a_other)
Notice the difference?
Note that the templated constructor doesn't define copy-constructor. The compiler will still generate a default copy-constructor for you, instead of instantiating the templated constructor.
Same argument for copy-assignment.