问答题
24分
打开考生文件夹proj2下的工程proj2,其中定义了vehicle类,并派生出motorcar类和bicycle类。然后以motocar和bicycle作为基类,再派生出motocycle类。要求将...
打开考生文件夹proj2下的工程proj2,其中定义了vehicle类,并派生出motorcar类和bicycle类。然后以motocar和bicycle作为基类,再派生出motocycle类。要求将vehicle作为虚基类,避免二义性问题。
请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为:
80
150
100
1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容, 也不能删除或移动"//**********found**********"。
请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为:
80
150
100
1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容, 也不能删除或移动"//**********found**********"。
参考解析: 【参考答案】
(1) MaxSpeed(maxspeed),Weight(weight){}
(2) virtual
(3) virtual
(4) public bicycle, public motorcar
【考点分析】
本题考查虚基类vehicle、派生类bicycle类和motorcar类以及motorcycle类,其中涉及构造函数,虚继承和多继承。
【解题思路】
(1) 主要考查考生对构造函数的掌握情况,vehicle类在构造函数的成员初始化列表中,完成对数据成员的初始化操作。
(2)主要考查考生对虚继承的掌握,在继承虚基类时,派生列表中应该包含virtual关键字。
(3)主要考查考生对虚继承的掌握,在继承虚基类时,派生列表中应该包含virtual关键字。
(4)主要考查考生对多继承的掌握,在多继承的派生列表中,派生类为每个基类指定访问级别。