Text this: Data Abstraction and Problem Solving With C++: walls and mirrors, 5e