Examples of Design Patterns written in C++