C++ Primer exercise