Como uso a composição com herança?

Vou tentar fazer minha pergunta no contexto de um exemplo simples ...

Digamos que eu tenho um carro de classe base abstrato. O carro possui um objeto básico do mecanismo. Eu tenho um método StartEngine () na classe Car abstrata que delega a partida do mecanismo no objeto Engine.

Como permito que subclasses de Car (como Ferrari) declarem o objeto Engine como um tipo específico de mecanismo (por exemplo, TurboEngine)? Preciso de outra classe de carro (TurboCar)?

Estou herdando um objeto Engine simples e antigo e não posso declará-lo (ou substituí-lo) como um TurboEngine nas subclasses Car.

EDITAR: Entendo que posso conectar qualquer subclasse de Engine à referência myEngine na minha classe Ferrari ... mas como posso chamar métodos que apenas o TurboEngine expõe? Como o myEngine é herdado como um mecanismo básico, nenhum dos itens turbo está incluído.

Obrigado!