因为a2是A类对象,它的show函数参数分别为D和A,你传递B的对象,那么它只能匹配show(A obj),然后由于多态性,会自动调用B类中重载的show(A obj),从而输出BA。你传递C对象也一样,都会调用show(B obj)函数的。