Exercise: Money value object - 3

Program an unchangeable money value object to represent amounts of money in a specific currency. Only write the code that you need to fulfill the task at hand.

  1. Create the basic structure for a money value object that supports the currencies EUR and USD. You could use an enum to represent the currency. Always use an int for the (cent) amount. Only add the methods to your value object that you really need.

  2. Please remember the automated tests! If you do not want to or cannot write automated tests, then write a control program that demonstrates all the features of your solution in a comprehensible way (console output is sufficient).

  3. Create a method addTo(Money $that): Money to add two money amounts of the same currency.

For subtask 4