Constructors of pure virtual class changed to be 'protected'