45 lines
928 B
C++
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;
|
|
} |