参考答案
一、
【参考答案】
(1)将void f1(){ cout<<"f1 function of base"<
改为:virtual void f1(){ cout<<"f1 function of base"<
(2)将class derive::public base
改为:class derive:public base
(3)将p=obj2;
改为:p=&obj2;
【试题解析】
(1)主要考查对虚函数的深刻理解,虚函数是动态联编的基础,也是实现多态性的重要方法,它可以根据不同的情况动态的选择执行哪一个函数。在派生类中实现虚函数应该满足与基类的同名函数完全相同,并且使用关键字virtual修饰,本题中由输出结果中的f1 function of derive可知,必须将基类base的成员函数f1()定义为虚函数;
(2)主要考查对派生类定义格式的掌握,应该使用“:”后面是继承列表,而“::”是作用域符;
(3)主要考查类对象的定义与使用,p是一个指针类型的变量,给它的赋值应该是一个地址,即使用取地址操作符&。
二、
【参考答案】
fun(STU a[],STU *s)
{int i, min;
min=a[0].s;
for(i=0;i
if(a[i].s
{min=a[i].s;
*s=a[i];}}
【试题解析】
解题思路为:先假设第一个考生的成绩最优,通过循环找到最低成绩,并将最低成绩的考生记录传给指针s,带回主函数。
三、
【参考答案】
(1)int x;
int y;
(2)printf( "%d*%d=%d ",x,y,z);
if(z<10) printf(" ");
(3)int i,j;
(4)Table9 t_9;
t_9.print();
【试题解析】
主要考查将具体问题抽象为类,将类的定义补充完整,并进行类定义测试的能力。