#ifndef C_C_MONEY_H #define C_C_MONEY_H #include #include "Currency.h" #include "Bill.h" #include "Coin.h" class Money { private: int value; Currency currency; public: explicit Money(int value, Currency currency); explicit Money(Money* money); std::shared_ptr operator=(Money money); std::shared_ptr operator+(Money &a); std::shared_ptr operator+(Bill &a); std::shared_ptr operator+(Coin &a); std::shared_ptr operator-(Money &a); const std::shared_ptr operator++(int); const std::shared_ptr operator--(int); virtual int getValue(); virtual void setValue(int value); virtual Currency getCurrency(); }; #endif