Core C++: A Software Engineering Approach

This is the next C++ classic. For developers with experience in any language, Victor Shtern teaches C++ the right way: with a laser-sharp focus on software engineering, using the best object-oriented techniques. Even if you've already worked with C++, this comprehensive book shows you how to build code that is more robust, easier to maintain -- and far more valuable. Shtern has built his C++ courses, training and this book on the assumption that most C++ programmers do not take advantage of the most important elements of the object-oriented language in order to build code for easy maintenance and modification (and, therefore, longer life). Core C++ shows how to do so, applying a software engineer's methodology to every aspect of code development. Learn how to make informed decisions that lead to dramatically higher code quality, based on key criteria such as cohesion, coupling, information hiding, and encapsulation. Master C++ classes in the context of today's best software engineering practices, learning the proper use of data members, member functions, access control, messages, modifiers, encapsulation, overloading, and dynamic memory management. Shtern introduces class composition, the core technique of C++ object-oriented programming -- addressing key issues such as when to avoid inheritance. He concludes by demonstrating the best ways to use advanced C++ features such as I/O libraries and templates.