code for Thinking in C++ Second Edition Volume One