c++ primer part3