use C++ to learn design Pattern, demos