题库 题库

【简答题】

改错题
使用VC6打开考生文件夹下的工程kt2_1,此工程包含一个源程序文件kt2_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
Vehiclemessage
Carmessage
Vehiclemessage
源程序文件kt2_1.cpp清单如下:
#include
classvehicle
{
intwheels;
floatweight;
public:
voidmessage(void){cout<<"Vehiclemessage\n";}
};
classcar:publicvehicle
{
intpassenger_load;
public:
voidmessage(void){cout>>"Carmessage\n";}
};
classtruck:publicvehicle
{
intpassenger_load;
floatpayload;
public:
intpassengers(void){returnpassenger_load;}
};
voidmain()
{
vehicle*unicycle;
unicycle=newvehicle;
unicycle.message();
deleteunicycle;
unicycle=newcar;
unicycle->message();
deleteunicycle;
unicycle=newtruck;
unicycle->message();
deleteunicycle;
}

参考答案

(1)将void message(void){ cout<<"Vehicle message\n";}
改为:virtual void message(void){ cout<<"Vehicle message\n";}
(2)将void message (void){cout>>"Car message\n";}
改为:void message (void){cout<<"Car message\n";}
(3)将unicycle.message();
改为:unicycle->message();

相关试题