Assuming a backgound in C++ basics, this book helps programmers to develop their programming expertise by giving a feel for the styles and idioms of the language. The approach is organized around the abstractions that C++ supports: abstracts data types, combining types in inheritance. The book also explores idioms that thte core of the C++ language does not support directly, such as virtual constructors, prototype objects, and advanced garbage collection techniques.