#include #include "Money.h" Money::Money(int value, Currency currency) : value(value), currency(currency) {} Money::Money(Money *money) : value(money->getValue()), currency(money->getCurrency()) {} Money& Money::operator=(Money money) { value = money.getValue(); currency = money.getCurrency(); return *this; } Money &Money::operator=(Money *money) { value = money->getValue(); currency = money->getCurrency(); return *this; } Money Money::operator+(Money &a) { if(currency == a.currency) { return Money(value + a.value); }else return Money(-1, Currency(CurrencyValue::USD)); } Money Money::operator-(Money &a) { if(currency == a.currency) { return Money(value - a.value); }else return Money(-1, Currency(CurrencyValue::USD)); } bool Money::operator<(Money &a) { return getValue() < a.getValue(); } const Money Money::operator++(int) { return Money(value++); } const Money Money::operator--(int) { return Money(value--); } int Money::getValue() { return value; } Currency Money::getCurrency() { return currency; }