gcc 如何实现多态