You are viewing a single comment's thread. Return to all comments →
#include <iostream> #include <vector> using namespace std; class HotelRoom { public: HotelRoom(int bedrooms, int bathrooms) : bedrooms_(bedrooms), bathrooms_(bathrooms) {} int get_price() { return 50*bedrooms_ + 100*bathrooms_; } private: int bedrooms_; int bathrooms_; }; class HotelApartment : public HotelRoom { public: HotelApartment(int bedrooms, int bathrooms) : HotelRoom(bedrooms+2, bathrooms) {} int get_price() { return HotelRoom::get_price() + 100; } }; int main() { int n; cin >> n; vector<HotelRoom*> rooms; for (int i = 0; i < n; ++i) { string room_type; int bedrooms; int bathrooms; cin >> room_type >> bedrooms >> bathrooms; if (room_type == "standard") { rooms.push_back(new HotelRoom(bedrooms, bathrooms)); } else { rooms.push_back(new HotelApartment(bedrooms, bathrooms)); } } int total_profit = 0; for (auto room : rooms) { total_profit += room->get_price(); } cout << total_profit << endl; for (auto room : rooms) { delete room; } rooms.clear(); return 0; }
Seems like cookies are disabled on this browser, please enable them to open this website
Hotel Prices
You are viewing a single comment's thread. Return to all comments →