Design Pattern of C++