This implements the examples in Eric Freeman, Head First Design Patterns to C++.
There are at least 2 implementations.
One tries to implements as similar as the book says(tried to use as many C++ style as possible though)
The other implements using modern C++ idioms, most of them ignoring inheritances and interfaces.
Any feedback is welcomed!
Most parts include tests, using CTest.
You can run it with -DRUN_TEST=ON
flags.
C++14 or higher