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

闲鱼网站建设专门设计的网站

闲鱼网站建设,专门设计的网站,网页.网站.主页.网址.域名有什么联系,电脑培训班在哪里报名作业: 编写一个如下场景: 有一个英雄Hero类,私有成员,攻击,防御,速度,生命值,以及所有的set get 方法 编写一个 武器 Weapon 类,拥有私有成员攻击力,以及set …

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

武器Weapon类里面,要求有一个多态函数,叫做 equip 函数
英雄Hero类里面,要求有一个公开函数,equipWeapon(Weapon* w)
实现功能:英雄既可以装备长剑,也可以装备短剑,也可以装备斧头,但是要求装备不同的武器,英雄需要获得不同的属性加成

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>using namespace std;// 英雄
class Hero {
private:int Attack;int Defense;int Speed;int Health;
public:Hero(int Attack = 0, int Defense = 0, int Speed = 0, int Health = 0): Attack(Attack), Defense(Defense), Speed(Speed), Health(Health) {}// 攻击力void setAttack(int attack) { Attack = attack; }int getAttack() { return Attack; }// 防御力void setDefense(int defense) { Defense = defense; }int getDefense() { return Defense; }// 敏捷力void setSpeed(int speed) { Speed = speed; }int getSpeed() { return Speed; }// 生命值void setHealth(int health) { Health = health; }int getHealth() { return Health; }// 英雄面板void show() {cout << "英雄: 陈育林" << endl;cout << "攻击力: " << Attack << endl;cout << "防御力: " << Defense << endl;cout << "敏捷力: " << Speed << endl;cout << "生命值: " << Health << endl;}
};// 武器
class Weapon {
private:int Attack;
public:Weapon(int Attack = 0) : Attack(Attack) {}void setAttack(int attack) { Attack = attack; }int getAttack() { return Attack; }virtual void equip(Hero* hero) {hero->setAttack(hero->getAttack() + Attack);}virtual void unequip(Hero* hero) {hero->setAttack(hero->getAttack() - Attack);}
};// 长剑
class Sword : public Weapon {
private:int Health;
public:Sword(int Attack = 0, int Health = 0) : Weapon(Attack), Health(Health) {}void setHealth(int health) { Health = health; }int getHealth() { return Health; }void equip(Hero* hero) override {Weapon::equip(hero);hero->setHealth(hero->getHealth() + Health);}void unequip(Hero* hero) override {Weapon::unequip(hero);hero->setHealth(hero->getHealth() - Health);}
};// 匕首
class Blade : public Weapon {
private:int Speed;
public:Blade(int Attack = 0, int Speed = 0) : Weapon(Attack), Speed(Speed) {}void setSpeed(int speed) { Speed = speed; }int getSpeed() { return Speed; }void equip(Hero* hero) override {Weapon::equip(hero);hero->setSpeed(hero->getSpeed() + Speed);}void unequip(Hero* hero) override {Weapon::unequip(hero);hero->setSpeed(hero->getSpeed() - Speed);}
};// 斧头
class Axe : public Weapon {
private:int Defense;
public:Axe(int Attack = 0, int Defense = 0) : Weapon(Attack), Defense(Defense) {}void setDefense(int defense) { Defense = defense; }int getDefense() { return Defense; }void equip(Hero* hero) override {Weapon::equip(hero);hero->setDefense(hero->getDefense() + Defense);}void unequip(Hero* hero) override {Weapon::unequip(hero);hero->setDefense(hero->getDefense() - Defense);}
};// 英雄装备武器的函数
void equipWeapon(Hero& hero, Weapon* weapon) {weapon->equip(&hero);
}int main(int argc, const char** argv) {Hero hero;Sword sword(20, 100); // 长剑:攻击力+20,生命值+100Blade blade(15, 50);  // 匕首:攻击力+15,速度+50Axe axe(30, 20);      // 斧头:攻击力+30,防御力+20cout << "初始属性:" << endl;hero.show();equipWeapon(hero, &sword);cout << "\n装备长剑后的属性:" << endl;hero.show();equipWeapon(hero, &blade);cout << "\n装备匕首后的属性:" << endl;hero.show();equipWeapon(hero, &axe);cout << "\n装备斧头后的属性:" << endl;hero.show();return 0;
}

http://www.dtcms.com/a/531460.html

相关文章:

  • 上海网站建设友汇网站企业163邮箱登录
  • 单页面淘宝客网站软装设计公司网站
  • 边境网站建设方案wordpress表excel插件
  • 高水平的大连网站建设网站建设设计大作业
  • 网站设计好网站东莞网站开发公司哪家好
  • 关于单位网站建设的请示wordpress的app
  • cf网站编程wordpress 会议
  • 建设微信网站要多少钱论坛推广软件
  • 沈阳网站建设公司多少钱赣州章贡区医保局电话
  • 怎么做刷qq业务网站wordpress文字添加图片
  • php网站开发面向对象教程西安网站建设哪些公司好
  • 做一个官网要多少钱福州seo推广公司
  • 做字幕模板下载网站有哪些怎么网站建设多少钱
  • 公司网站建设方案详细方案模板wordpress定时插件
  • 17网一起做网站工业设计专业是干什么的
  • 公司网站开发建设node js 网站开发
  • 高校思政课网站建设如何建设物流网站
  • 北京产品网站设计哪家专业1分钟视频制作报价明细
  • 中国建设招标网?官方网站网站建设推广公司需要哪些岗位
  • 现在网站做SEO怎么样怎样做网站內链
  • 做的网站为什么图片看不了怎么回事功能网站建设
  • 如何免费建网站家装设计网页论文
  • 网站推广全过程深圳企业网站建设制作网络公司
  • 浙江省建设厅官方网站ui设计师培训费用
  • 普洱高端网站建设价格企业网站需要注意什么
  • 白沙网站建设的目标免费的app下载网站
  • 广州公司网站设计制作centos7 wordpress搭建
  • 建设网站要注意什么问题企业产品推广平台
  • 北师大 网页制作与网站建设 考试阳性几天就不传染人了
  • wordpress适合建什么网站吗e福州电子公交卡