C_CPP/src/10_PITF/Testat/Money.cpp

45 lines
928 B
C++

#include "Money.h"
Money::Money(int value, Currency currency) : value(value), currency(currency) {
}
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));
}
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;
}