#include
using namespace std;
class P {
public:
void print() { cout <<" Inside P"; }
};
class Q : public P {
public:
void print() { cout <<" Inside Q"; }
};
class R: public Q { };
int main(void)
{
R r;
r.print();
return 0;
}
(A) P内
(B) Q内部
(C)编译器错误:对print()的调用不明确答案: (B)
说明:在R类中不存在print函数。因此在继承层次结构中对其进行查找。在类P和Q中都存在print(),应该调用它们中的哪一个?这个想法是,如果存在多级继承,则在继承层次结构中线性搜索函数,直到找到匹配的函数。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。