您将需要一个停车场,其中包含一个类型为“ space”的多维数组(在构造函数中指定)。停车场可以通过调用填充和空出空间的函数来跟踪有多少空间被占用。空间可以包含一个枚举类型,该类型说明它是什么类型的空间。Space 还有一个方法 take ()。找到第一个可以停车的地方,把车停在那里。您还需要一个汽车对象放在空间,以持有它是一个残疾人,紧凑型,或普通车辆。
class ParkingLot
{
Space[][] spaces;
ParkingLot(wide, long); // constructor
FindOpenSpace(TypeOfCar); // find first open space where type matches
}
enum TypeOfSpace = {compact, handicapped, regular };
enum TypeOfCar = {compact, handicapped, regular };
class Space
{
TypeOfSpace type;
bool empty;
// gets and sets here
// make sure car type
}
class car
{
TypeOfCar type;
}