Suppose I have a large class with a lot of functionality and a relatively large interface. Particularly, there are many constructors for convenient instantiation. From this class, several classes could be derived with some slightly extended interface and/or customized virtual functions.
The problem: I will have to copy all the constructors into the derived classes which would mean a lot of code duplication. Even worse: The constructors slightly depend on the derived class, which I would solve by a virtual call, but this does not work in a constructor.
What's a good approach to tackle this problem?
EDIT: I know that I can delegate constructors Derived(arguments) : Base(arguments) {}
but I'd still need to copy parts of the constructor which I try to avoid.