五一期间游客出行,有多种交通工具可以选择,其中,自行车行驶速度为0.2km/min;地铁行驶速度为0.5km/min,每行驶2km经过一个地铁站,并在站台停靠2min。 (1)请构造一个Vehicle基类(10分),要求包含: 数据成员: double speed;//交通工具的速度和km/min double distance;//目的地的距离 km; 成员函数: 自行设计构造函数完成初始化; double TimeSpend();//用来计算到达目的地所用时间 (2)由Vehicle类派生出Bicycle和Subway两个类,要求包含: 成员函数: Bicycle和Subway两个派生类设计构造函数完成初始化; Bicycle和Subway两个派生类用TimeSpend函数计算不同的交通工具到达目的地所用时间,并输出计算结果(一个类20分)。 (3)算例: 自行车:0.2km/min,目的地距离10km,到达目的地用时50min。 地铁:0.5km/min,目的地距离10km,到达目的地用时28min。
时间: 2024-02-11 17:09:01 浏览: 100
东风日产颐达1.6L轿车发动机加速无力车速只能接近100km/h且发动机怠速有轻微抖动的
以下是代码实现:
```cpp
#include<iostream>
using namespace std;
class Vehicle {
public:
double speed, distance;
Vehicle(double s, double d): speed(s), distance(d) {} // 构造函数
double TimeSpend() {
return distance / speed;
}
};
class Bicycle: public Vehicle {
public:
Bicycle(double d): Vehicle(0.2, d) {} // 构造函数
double TimeSpace() {
return TimeSpend();
}
};
class Subway: public Vehicle {
public:
Subway(double d): Vehicle(0.5, d) {} // 构造函数
double TimeSpace() {
int num_stops = distance / 2;
return TimeSpend() + num_stops * 2;
}
};
int main() {
double distance = 10.0;
Bicycle bike(distance);
Subway subway(distance);
cout << "自行车到达目的地需要 " << bike.TimeSpace() << " 分钟" << endl;
cout << "地铁到达目的地需要 " << subway.TimeSpace() << " 分钟" << endl;
return 0;
}
```
在这个程序中,Vehicle类是基类,包含了交通工具的速度和距离,以及计算到达目的地所用时间的方法。Bicycle和Subway类是派生类,分别继承了Vehicle类,并根据自身特点实现了计算时间的方法。在main函数中,分别创建了一个Bicycle对象和一个Subway对象,通过调用它们的TimeSpace方法来计算到达目的地所用时间,并输出结果。
阅读全文