#include class ParkingSystem { int big; int medium; int small; int& get(int carType) { switch (carType) { case 1: return big; case 2: return medium; case 3: return small; default: assert(false); } } public: ParkingSystem(int big, int medium, int small) : big(big) , medium(medium) , small(small) { } bool addCar(int carType) { auto& space = get(carType); if (space <= 0) { return false; } --space; return true; } }; /** * Your ParkingSystem object will be instantiated and called as such: * ParkingSystem* obj = new ParkingSystem(big, medium, small); * bool param_1 = obj->addCar(carType); */