This classic book has been revised to further enhance its focus on data abstraction and data structures using C++. It provides a firm foundation in data abstraction, emphasizing the distinction between specification and implementation as the foundation for an object-oriented approach. The book's hallmark feature, its innovative "Walls and Mirrors" approach to programming, continues to instill the use of both abstraction and recursion to design solutions to problems. The authors cover key object-oriented concepts, including encapsulation, inheritance and polymorphism. However, the focus remains on data abstraction instead of simply C++ syntax. They also illustrate the role of classes and ADTs in the problem-solving process, and include major applications of ADTs, such as searching a flight map and event-driven simulation. The third edition features new coverage of C++ exceptions and C++ namespaces. In addition, this text reviews, in an appendix, basic C++ syntax for those who have previously studied the language or are making the transition to C++ from another language. This book is appropriate for readers who are familiar with basic C++ programming concepts or are new to the language and want to learn how it treats the concepts of recursion and data abstraction.
Incredible. One of the best textbooks of my college education in programming. The examples are so thorough and there are many diagrams and practice problems to help a diligent student begin to master this complex topic.
Clear diction, intuitive examples that are refactored to introduce more complex concepts, and no shyness to discuss applications and more advanced topics beyond the scope of the text. Altogether a rich and reliable source that sparks curiosity every chapter