C++: Effective Object-Oriented Software Construction : Concepts, Principles, Industrial Strategies, and Practices
This book has one goal: to help you understand the object-oriented paradigm in depth, so you can translate object concepts into practical solutions, no matter what software development you encounter. Completely revised to reflect the ANSI C++ standard, it introduces the fundamentals of object-oriented design/programming in the context of real-world C++ software development, presenting proven strategies for using object languages to engineer elegant, high-quality software as quickly and efficiently as possible.
Start with the foundations of object-oriented development: classes, objects, data abstraction, single and multiple inheritance, and other key concepts. Master the C++ object model, understanding its cost/benefit implications. Learn better style for C++ coding, and discover the key strategies professional developers use to maximize code and design reuse. Learn how to manage the extensive "housekeeping" associated with effective C++ software development, and walk through detailed, real-world comparisons of the strengths and weaknesses of each major object-oriented language.