Many of the larger cruise lines will have the facilities to change your currency onboard. However you may want to avoid this option as your required currency might be unavailable or there could be long queues. You're also not guaranteed to get the best exchange rates.