Embrace object-oriented programming and explore language complexities, design patterns, and smart programming techniques with this detailed hands-on guide presenting 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
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 - understanding OO concepts and how they map to both C++ language features and OOP techniques is crucial. 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++ for writing better code.
Starting with the essential C++ features that 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++ 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
- Understanding Basic C++ Assumptions
- Adding Language Necessities
- Indirect Addressing: Pointers
- Indirect Addressing: References
- Exploring Classes in Detail
- Implementing Hierarchies with Single Inheritance
- Utilizing Dynamic Binding through Polymorphism
- Mastering Abstract Classes
- Exploring Multiple Inheritance
- Implementing Association, Aggregation, and Composition
- Handling Exceptions
- Friends and Operator Overloading
- Working with Templates
- Understanding STL Basics
- Testing Classes and Components
- Using the Observer Pattern
- Applying the Factory Pattern
- Applying the Adapter Pattern
- Using the Singleton Pattern
- Removing Implementation Details Using the pImpl Pattern
- Making C++ Safer