Implementations for several Design Patterns using C++ as I learn