Thingking in C++ Volume 2: Practical Programming - Bruce Eckel (Pearson Education,Inc.)