Skip to Content
Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design
book

Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design

by Dmitri Nesteruk
November 2021
Beginner to intermediate
391 pages
5h 23m
English
Apress
Content preview from Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design
© Dmitri Nesteruk 2022
D. NesterukDesign Patterns in Modern C++20https://doi.org/10.1007/978-1-4842-7295-4_9

9. Decorator

Dmitri Nesteruk1  
(1)
St. Petersburg, Russia
 

You’re working with a class your colleague wrote, and you want to extend that class’ functionality. How would you do it, without modifying the original code? Well, one approach is inheritance: you make a derived class, add the functionality you need, maybe even override something, and you’re good to go.

Right, except this doesn’t always work, and there are many reasons why. For example, you typically wouldn’t want to inherit from, say, std::vector, due to its lack of a virtual destructor, or from an int (which is just impossible). But the most critical reason why inheritance doesn’t ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Design Patterns in Modern C++: Reusable Approaches for Object-Oriented Software Design

Design Patterns in Modern C++: Reusable Approaches for Object-Oriented Software Design

Dmitri Nesteruk

Publisher Resources

ISBN: 9781484272954Purchase LinkPublisher Website