6-2 车的不同行为

本文展示了如何使用C++实现一个基类Vehicle,包含虚函数Run和Stop,然后派生出Bicycle和Motorcar类,同样具有Run和Stop函数。在主函数中,通过Vehicle指针调用这些函数,体现了多态性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义一个车(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 修饰符不能与 staticabstractprivate 或 override 修饰符一起使用 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值