17.2 函数、模板和宏的多态性