0%

Embrace object-oriented programming and explore language complexities, design patterns, and smart programming techniques using this hands-on guide with C++ 20 compliant examples

Key Features

  • Apply object-oriented design concepts in C++ using direct language features and refined programming techniques
  • Discover sophisticated programming solutions with nuances to become an efficient programmer
  • Explore design patterns as proven solutions for writing scalable and maintainable C++ software

Book Description

Even though object-oriented software design enables more easily maintainable code, companies choose C++ as an OO language for its speed. Object-oriented programming in C++ is not automatic – it is crucial to understand OO concepts and how they map to both C++ language features and OOP techniques. Distinguishing your code by utilizing well-tested, creative solutions, which can be found in popular design patterns, is crucial in today's marketplace. This book will help you to harness OOP in C++ to write better code.

Starting with the essential C++ features, which serve as building blocks for the key chapters, this book focuses on explaining fundamental object-oriented concepts and shows you how to implement them in C++. With the help of practical code examples and diagrams, you'll learn how and why things work. The book's coverage furthers your C++ repertoire by including templates, exceptions, operator overloading, STL, and OO component testing. You'll discover popular design patterns with in-depth examples and understand how to use them as effective programming solutions to solve recurring OOP problems.

By the end of this book, you'll be able to employ essential and advanced OOP concepts to create enduring and robust software.

What you will learn

  • Quickly learn core C++ programming skills to develop a base for essential OOP features in C++
  • Implement OO designs using C++ language features and proven programming techniques
  • Understand how well-designed, encapsulated code helps make more easily maintainable software
  • Write robust C++ code that can handle programming exceptions
  • Design extensible and generic code using templates
  • Apply operator overloading, utilize STL, and perform OO component testing
  • Examine popular design patterns to provide creative solutions for typical OO problems

Who this book is for

Programmers wanting to utilize C++ for OOP will find this book essential to understand how to implement OO designs in C++ through both language features and refined programming techniques while creating robust and easily maintainable code. This OOP book assumes prior programming experience; however, if you have limited or no prior C++ experience, the early chapters will help you learn essential C++ skills to serve as the basis for the many OOP sections, advanced features, and design patterns.

Table of Contents

  1. Deciphering Object-Oriented Programming with C++
  2. Contributors
  3. About the author
  4. About the reviewers
  5. Preface
  6. Part 1: C++ Building Block Essentials
  7. Chapter 1: Understanding Basic C++ Assumptions
  8. Chapter 2: Adding Language Necessities
  9. Chapter 3: Indirect Addressing – Pointers
  10. Chapter 4: Indirect Addressing – References
  11. Part 2: Implementing Object-Oriented Concepts in C++
  12. Chapter 5: Exploring Classes in Detail
  13. Chapter 6: Implementing Hierarchies with Single Inheritance
  14. Chapter 7: Utilizing Dynamic Binding through Polymorphism
  15. Chapter 8: Mastering Abstract Classes
  16. Chapter 9: Exploring Multiple Inheritance
  17. Chapter 10: Implementing Association, Aggregation, and Composition
  18. Part 3: Expanding Your C++ Programming Repertoire
  19. Chapter 11: Handling Exceptions
  20. Chapter 12: Friends and Operator Overloading
  21. Chapter 13: Working with Templates
  22. Chapter 14: Understanding STL Basics
  23. Chapter 15: Testing Classes and Components
  24. Part 4: Design Patterns and Idioms in C++
  25. Chapter 16: Using the Observer Pattern
  26. Chapter 17: Applying the Factory Pattern
  27. Chapter 18: Applying the Adapter Pattern
  28. Chapter 19: Using the Singleton Pattern
  29. Chapter 20: Removing Implementation Details Using the pImpl Pattern
  30. Part 5: Considerations for Safer Programming in C++
  31. Chapter 21: Making C++ Safer
  32. Assessments
  33. Index
  34. Other Books You May Enjoy