C++ programming principle and practice The first part has two parts