Design pattern (C++ description)