// door.cpp // Member function definitions for class Door. #include using std::cout; using std::endl; #include "door.h" #include "person.h" #include "floor.h" #include "elevator.h" Door::Door() // constructor : open( false ) { cout << "door created" << endl; } Door::~Door() // destructor { cout << "door destroyed" << endl; } // open the door void Door::openDoor( Person * const passengerPtr, Person * const nextPassengerPtr, Floor ¤tFloor, Elevator &elevator ) { if ( !open ) { open = true; cout << "elevator opens its door on floor " << currentFloor.getNumber() << endl; if ( passengerPtr != 0 ) { passengerPtr->exitElevator( currentFloor, elevator ); delete passengerPtr; // passenger leaves simulation } if ( nextPassengerPtr != 0 ) nextPassengerPtr->enterElevator( elevator, currentFloor ); } } // close the door void Door::closeDoor( const Floor ¤tFloor ) { if ( open ) { open = false; cout << "elevator closes its door on floor " << currentFloor.getNumber() << endl; } }