Декоратор — структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту. Шаблон предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности. Больше о декораторе с примерами кода на C++:
https://proglib.io/w/6f12ba6f
Design Patterns and Refactoring articles and guides. Design Patterns video tutorials for newbies. Simple descriptions and full source code examples in Java, C++, C#, PHP and Delphi.