Apologies - I have been out of action for a while, so have only just gotten round to merging this in. Thanks very much for the contribution! I gave it a bit of a review and edit, including:
Simplified the code by showing only a single derived class (the reader can extrapolate for themselves)
Simplified the code by performing the copy in a function, rather than in another class
Removed some unnecessary notes in the description
Reworded parts of the description
Added a note to the end about not being able to use smart pointers due to return type covariance
Will be deploying an updated build of the site later today. Thanks again.
Apologies - I have been out of action for a while, so have only just gotten round to merging this in. Thanks very much for the contribution! I gave it a bit of a review and edit, including:
Will be deploying an updated build of the site later today. Thanks again.