朱慧素
小水手

UID 149
精华
0
积分 2
帖子 2
阅读权限 10
注册 2005-7-16 来自 浙江省宁波市
状态 离线
|
求救
阅读下列程序,回答后面提出的问题。
#include <iostream.h>
class vehicle
{
int wheels;
float weight;
public;
void message(void){cout<<”Vehicl message/n”;}
};
class car:public vehicle
{
int passenger_load;
public:
void message (void){cout<<”Car message/n”;}
};
class truck:public vehicle
{
int passenger_load;
float payload;
public:
int passengers(void){return passenger_load;}
};
class boat:public vehicle
{
int passenger_load;
public:
int passengers(void){return passenger_load;}
void message((void){cout<<”Boat message/n”;}
};
int main()
{
vehicle * unicycle;
unicycle=new vehicle;
unicycle>message();
delete unicycle;
unicycle=new car;
unicycle-->message();
delete unicycle;
unicycle=new truck;
unicycleàmessage()
delete unicycle;
unicycle=new boat;
unicycleàmessage();
delete unicycle;
return 0;
}
(1)写出程序的运行结果。
(2)如果将Vehicle的成员函数message的定义改为:
virtual void message(void){ cout << “Vehicle message/n”;}
写出修改后的程序的运行结果。
(3)在上一题修改的基础上,修改类truck的定义,使它具有和Car、boat等具有相似的特征。也就是说,下面的程序片段:
unicycle=new truck;
unicycleàmessage();
delete unicycle;
将会产生以下输出:
Truck message
写出为truck增加的成员函数的定义并将其实现为一个内联函数
|
|