#include BitcoinExchange::BitcoinExchange() : data() {} BitcoinExchange::BitcoinExchange(const std::map& data) : data(data) {} BitcoinExchange::BitcoinExchange(const BitcoinExchange& other) : data(other.data) {} BitcoinExchange& BitcoinExchange::operator=(const BitcoinExchange& other) { if (this == &other) return *this; data = other.data; return *this; } double BitcoinExchange::getValue(const std::string& date) const { std::map::const_iterator it = data.lower_bound(date); if (it == data.end()) return data.rbegin()->second; if (it->first == date) return it->second; if (it == data.begin()) return it->second; --it; return it->second; } BitcoinExchange::~BitcoinExchange() {}