add C++ PRIMER ch.11, but not finish