c++ primer practice