I have an abstract base class with two inherited classes. In both these classes I define a virtual method that is used by the constructor. Now I need to create a copy constr
Virtual functions called during the constructor/destructor won't resolve to derived type. As stated by Scott Myers here -
During base class construction, virtual functions never go down into derived classes. Instead, the object behaves as if it were of the base type.
since you can't use virtual functions to call down from base classes during construction, you can compensate by having derived classes pass necessary construction information up to base class constructors instead.