我嘞个豆这怎么写

本文描述了如何使用抽象类Animal为基础,创建陆生动物TerAnimal和水生动物AquAnimal,并派生出两栖动物AmpAnimal。通过动态多态,实现通用函数voidGetAnimalInfo,根据不同动物类型调用其移动和属性展示方法。

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

长期的物种进化使两栖动物既能活跃在陆地上,又能游动于水中。使用抽象类建立一个动物基类Animal,属性包含体重weight和性别sex,并具有移动能力Move()以及属性展示PrintInfo()。

      由动物基类派生陆生动物类TerAnimal,增加奔跑速度属性runSpeed;派生水生动物类AquAnimal,增加游泳速度swimSpeed,并分别实现基类中的移动过程(陆生动物的Move函数打印“陆上跑”,水生动物的Move()函数打印“水中游”)和属性展示(分别打印“体重:”、“性别:”、“速度:”)。

      由陆生、水生两个类继续派生而来的两栖动物类AmpAnimal,继承了陆生动物和水生动物的属性和方法(继承时均保留1份),且移动能力也随之发生变化(Move()函数打印“水陆两栖”)。

      请正确实现上述类的定义和继承关系,并分别创建陆生动物对象rabbit(体重500,性别公,速度100),水生动物对象fish(体重10,性别母,速度50),两栖动物对象turtle(体重30,性别公,速度1)。然后定义一个通用函数void GetAnimalInfo(Animal* animal),分别传入3个动物对象,在该函数中使用动态多态的方式分别调用animal指向对象的移动方法和属性展示方法,打印对应内容。

 

输出样例:

      陆上跑

      体重:500  性别:公  速度:100

      水中游

      体重:10    性别:母  速度:50

      水陆两栖

      体重:30    性别:公  速度:1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值