定义一个Student类继承Person类,继承方式是protected,在子类中定义一个print方法,如果用父类的指针指向子类,调用这个print方法会有什么问题?
考察说明
考察C++继承方式对访问权限的影响以及多态与指针调用的关系
回答思路
- 明确指出protected继承下父类指针指向子类时,print方法不可访问
- 解释protected继承的访问控制规则:公有成员在派生类中变为保护成员
- 说明未声明print为虚函数时,父类指针调用的是父类的print而非子类版本
- 对比虚函数与非虚函数在动态绑定上的差异
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。