En Instrument.cpp, el upcasting se produce durante la llamada a la función: se toma la referencia de un objeto Wind que está fuera de la función y se convierte en una referencia a Instrument dentro de la función. El upcasting también puede producirse durante una simple asignación a un puntero o a una referencia:
Wind w; Instrument* ip = &w; // Upcast Instrument& ir = w; // Upcast
Como en la llamada a la función, ninguno de estos casos requiere un molde explícito.