C++ 抽象类 Vehicle 及其派生类 Plane 和 Train 的实现
#include
class Vehicle { public: virtual float travelTime(float distance) = 0; virtual void setSpeed(float speed) = 0; };
class Plane : public Vehicle { private: float speed; public: Plane(float speed = 1000) : speed(speed) {} float travelTime(float distance) { return distance / speed; } void setSpeed(float speed) { this->speed = speed; } float getSpeed() { return speed; } };
class Train : public Vehicle { private: float speed; public: Train(float speed = 100) : speed(speed) {} float travelTime(float distance) { return distance / speed; } void setSpeed(float speed) { this->speed = speed; } float getSpeed() { return speed; } };
//主函数
int main(){
Vehicle *v;
Plane p;
Train t;
int i;
float s, d;
cout<'飞机的速度:'<p.getSpeed()<<endl;
cout<'火车的速度:'<t.getSpeed()<<endl;
cout<'请输入交通工具类型号(1飞机,2火车)、速度以及路程:'<endl;
cin>>i>>s>>d;
if(i==1||i==2){
if(i==1){
v=&p;
v->setSpeed(s);
cout<'飞机的旅程时间:'
原文地址: https://www.cveoy.top/t/topic/osIX 著作权归作者所有。请勿转载和采集!