C++ primer exercise