head first 设计模式装饰着模式C++实现