/** * Returns a new DateTime representing the arrival time by adding the duration * and delay to the departure DateTime. Calls polymorphic function GetDelay for * appropriate derived class. */ DateTime FlightNode::GetArrivalTime() { DateTime arrival = DateTime(departure_.minutes(), departure_.hours(), departure_.day(), departure_.month(), departure_.year()); int min = duration_ + GetDelay(); arrival.AddMinutes(min); return arrival; }