定义一个车(vehicle)基类,有虚函数Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,它们都有Run、Stop等成员函数。完成这些类使得主函数可以运行并得到正确的输出结果。
函数接口定义:
完成类代码
裁判测试程序样例:
/* 请在这里填写答案 */ int main(int argc, char const *argv[]) { Vehicle veh; Bicycle bic; Motorcar mot; run(veh); run(bic); run(mot); return 0; }
输入样例:
无
输出样例:
在这里给出相应的输出。例如:
Vehicle run
Bicycle run
Motorcar run
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<bits/stdc++.h>
using namespace std;
class Vehicle
{
public:
virtual void Run() //virtual虚拟
{
cout<<"Vehicle run"<<endl;
}
virtual void Stop()
{
}
};
class Bicycle:public Vehicle //车Vehicle的派生类Bicycle
{
public:
virtual void Run()
{
cout<<"Bicycle run"<<endl;
}
virtual void Stop()
{
}
};
class Motorcar:public Vehicle //车Vehicle的派生类Motorcar
{
public:
virtual void Run()
{
cout<<"Motorcar run"<<endl;
}
virtual void Stop()
{
}
};
void run(Vehicle &p)
{
p.Run();
}
void stop(Vehicle &p)
{
p.Stop();
}
virtual
关键字用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。 例如,此方法可被任何继承它的类替代
虚拟成员的实现可由派生类中的替代成员更改。
virtual
修饰符不能与 static
、abstract
private
或 override
修饰符一起使用