类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()( )
A、
调用类A中的函数func()
B、
调用类B中的函数func()
C、
根据p所指的对象类型而确定调用类A中或类B中的函数func()
D、
既调用类A中的函数,也调用类B中的函数
【正确答案】:A
【题目解析】:
p->A::func()中因为有类名限定符,所以明确指示将调用类A中的func()函数,在这种情况下,指针p指向基类或派生类对象,都不影响调用的函数。故本题选A。
如果调用语句是p->func(),则要根据指针p的实际指向情况,决定调用类A或类B中的成员函数,这才是动态多态。