The abstract Tree class provides default implementations for both the DepthFirstTraversal and BreadthFirstTraversal member functions. Both of these implementations call pure virtual member functions such as Key and Subtree. In effect, they are abstract algorithms . An abstract algorithm describes behavior in the absence of implementation!