当前位置: 首页 > wzjs >正文

白山建设局网站云南省网站开发公司

白山建设局网站,云南省网站开发公司,沙井网站开发,centos lamp wordpress一、练习题 【编写一个如下场景】: 有一个英雄Hero类,私有成员,攻击,防御,速度,生命值,以及所有的set,get 方法; 编写一个 武器 Weapon 类&…

一、练习题
        【编写一个如下场景】:
        有一个英雄Hero类,私有成员,攻击,防御,速度,生命值,以及所有的set,get 方法;
        编写一个 武器 Weapon 类,拥有私有成员攻击力,以及set,get 方法;
        编写一个 长剑 Sword 类,继承自武器类,拓展属性:生命值,以及set,get 方法;
        编写一个 匕首 Blade 类,继承自武器类,拓展属性:速度,以及set,get 方法;
        编写一个 斧头 Axe 类,继承自武器类,拓展属性:防御力,以及set,get 方法;

        武器 Weapon 类中,要求有一个多态函数,叫做 equip 函数;
        英雄 Hero 类中,要求有一个公开函数,equipWeapon(Weapon* w);
        

        【实现功能】:

        英雄既可以装备长剑,也可以装备匕首,也可以装备斧头。但是要求装备不同的武器后,英雄需要获得不同的属性加成。


【代码】:

#include <iostream>
using namespace std;class Hero {
private:int attack;      // 攻击力int defense;     // 防御力int speed;       // 速度int health;      // 生命值public:Hero() : attack(0), defense(0), speed(0), health(0) {}int get_attack() const { return attack; }int get_defense() const { return defense; }int get_speed() const { return speed; }int get_health() const { return health; }void set_attack(int a) { attack = a; }void set_defense(int d) { defense = d; }void set_speed(int s) { speed = s; }void set_health(int h) { health = h; }// 装备武器void equipWeapon(class Weapon* w);
};// 武器基类
class Weapon {
private:int attack;public:Weapon() : attack(0) {}int get_attack() const { return attack; }void set_attack(int a) { attack = a; }// 多态函数:装备武器virtual void equip(Hero& hero) {hero.set_attack(hero.get_attack() + attack);}
};// 长剑类
class Sword : public Weapon {
private:int health;public:Sword() : health(0) {}int get_health() const { return health; }void set_health(int h) { health = h; }// 重写 equip 函数void equip(Hero& hero) {Weapon::equip(hero); // 调用基类的 equiphero.set_health(hero.get_health() + health);}
};// 匕首类
class Blade : public Weapon {
private:int speed;public:Blade() : speed(0) {}int get_speed() const { return speed; }void set_speed(int s) { speed = s; }void equip(Hero& hero) {Weapon::equip(hero);hero.set_speed(hero.get_speed() + speed);}
};// 斧头类
class Axe : public Weapon {
private:int defense;public:Axe() : defense(0) {}int get_defense() const { return defense; }void set_defense(int d) { defense = d; }void equip(Hero& hero) {Weapon::equip(hero);hero.set_defense(hero.get_defense() + defense);}
};// Hero 类的 equipWeapon 函数实现
void Hero::equipWeapon(Weapon* w) {w->equip(*this); // 调用武器的 equip 函数
}int main() {Hero hero;hero.set_attack(100);hero.set_defense(50);hero.set_speed(30);hero.set_health(500);cout << "初始状态:" << endl;cout << "攻击力: " << hero.get_attack() << endl;cout << "防御力: " << hero.get_defense() << endl;cout << "速度: " << hero.get_speed() << endl;cout << "生命值: " << hero.get_health() << endl;cout << "-------------------" << endl;// 创建武器Sword sword;sword.set_attack(20);sword.set_health(100); // 长剑:攻击力 +20,生命值 +100Blade blade;blade.set_attack(15);blade.set_speed(10); // 匕首:攻击力 +15,速度 +10Axe axe;axe.set_attack(30);axe.set_defense(20); // 斧头:攻击力 +30,防御力 +20// 装备长剑hero.equipWeapon(&sword);cout << "装备长剑后:" << endl;cout << "攻击力: " << hero.get_attack() << endl;cout << "防御力: " << hero.get_defense() << endl;cout << "速度: " << hero.get_speed() << endl;cout << "生命值: " << hero.get_health() << endl;cout << "-------------------" << endl;// 装备匕首hero.equipWeapon(&blade);cout << "装备匕首后:" << endl;cout << "攻击力: " << hero.get_attack() << endl;cout << "防御力: " << hero.get_defense() << endl;cout << "速度: " << hero.get_speed() << endl;cout << "生命值: " << hero.get_health() << endl;cout << "-------------------" << endl;// 装备斧头hero.equipWeapon(&axe);cout << "装备斧头后:" << endl;cout << "攻击力: " << hero.get_attack() << endl;cout << "防御力: " << hero.get_defense() << endl;cout << "速度: " << hero.get_speed() << endl;cout << "生命值: " << hero.get_health() << endl;return 0;
}


文章转载自:

http://yxm5IO5L.wywqz.cn
http://B6ZrfDfE.wywqz.cn
http://4zVJwVpK.wywqz.cn
http://RK2DXJ6u.wywqz.cn
http://SbUXHKyq.wywqz.cn
http://tD7MX2zv.wywqz.cn
http://F9xIswXH.wywqz.cn
http://ETfmtmDa.wywqz.cn
http://uKfllUi7.wywqz.cn
http://b7Ja41Kd.wywqz.cn
http://P5W20hRt.wywqz.cn
http://07FWag63.wywqz.cn
http://DD6LV0r4.wywqz.cn
http://DmTTuaWt.wywqz.cn
http://2H0t5Ij9.wywqz.cn
http://UlLLGVEm.wywqz.cn
http://eUcwa7I5.wywqz.cn
http://eJeQ1tOg.wywqz.cn
http://JCfgHMSW.wywqz.cn
http://UwWyYvwu.wywqz.cn
http://RrZs0WRS.wywqz.cn
http://WrYJVM7Y.wywqz.cn
http://SxejFKf7.wywqz.cn
http://qLzOCy9F.wywqz.cn
http://rvSw7pcM.wywqz.cn
http://kxeRRMAd.wywqz.cn
http://NPjM3XqB.wywqz.cn
http://lYeIlibe.wywqz.cn
http://ZPD8HNKN.wywqz.cn
http://ixcS52yp.wywqz.cn
http://www.dtcms.com/wzjs/650975.html

相关文章:

  • 专业制作网站的公司哪家好西安最新活动轨迹
  • 天津泰达建设集团有限公司网站电子制作diy
  • 微网站建设市场国内永久免费crm游戏
  • 台州seo网站排名wordpress 技术类模板下载
  • asp做招聘网站流程天津飞机模型制作公司
  • dedecms网站地图插件安全的企业网站开发
  • 番禺电商网站建设seo学院培训班
  • 网站推广的具体方法软件下载
  • 门户网站系统开发如何推广平台
  • 常州网站建设多少钱一般的学校网站怎么做
  • 设计师网站接单网站制作简单协议
  • 网站管理员可控的关键节点微信小程序网站建设哪家好
  • 银行门户网站建设艺术品交易网站开发
  • 网站图片大小优化网站语言版本
  • 网站自然排名往后掉推荐个临汾做网站的
  • 成品网站免费下载飓风seo刷排名软件
  • 郑州旅游网站搭建wordpress post date
  • 宁波网站优化方案品牌网站建设相关问题
  • 网站建设与网页设计开题报告如何将网站提交到搜索引擎
  • 扬中网站推广托管wordpress 安装路径
  • 南坪做网站搜狗seo刷排名软件
  • 零食店网站构建策划报告免费发布信息平台有哪些
  • 安徽外贸网站建设推广普通话手抄报内容文字
  • 企业网站的步骤一个wordpress的爱好者
  • html5制作网站谁的好美工培训班一般培训多久
  • ppt免费模板下载网站有哪些政务网站建设信息
  • 文化网站建设wordpress主题代码编辑教程
  • 烟台网站设计单位网站做搜索关键字好吗
  • 网站设计制作中心做网站用什么源码最好
  • 门户网站建设服务医院风格 wordpress