Passing around floats causes rounding issues.
Possible solution:
class Eur { private /* int */ cents; }