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

闲鱼网站建设ps网站建设

闲鱼网站建设,ps网站建设,wordpress主题安全,兖州网站建设作业: 编写一个如下场景: 有一个英雄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/559760.html

相关文章:

  • 网页制作什么主题好网站优化改版
  • 建设网站简单吗青海旅游网站建设方案
  • 山东省住房和城乡建设网站北京app制作公司
  • 外贸做哪个网站平台宁夏网站建设报价
  • 做棋牌游戏网站犯法吗企业网站管理系统的运维服务
  • 郑州网站建设新闻icp网站备案流程
  • 网站ip屏蔽宁德做网站公司
  • 网上购物网站网站建站服务的公司
  • 网站申请域名流程做推广如何引流
  • 网站如何提高转化率工程造价信息网如何进入
  • 怎样了解网站建设是否专业wordpress与新浪博客
  • 商业网站初期建设资金预算有经验的大连网站建设
  • 关键词搜索站长工具中国建筑装饰网上海
  • 如何让网站不被收录app是如何开发出来的
  • 德州网站建设优化建网站服务器是什么东西
  • 建一个网站要多少钱做婚恋网站挣钱吗
  • 做网站的方案图片桥南做网站
  • 河源建网站天元建设集团有限公司排名
  • 北京有做网站的吗网页设计的主要步骤
  • 英国网站域名seo网站推广如何做
  • 手机网站开放配路由硬盘做网站空间不
  • 爱站网络科技有限公司长沙 网站设计 公司
  • 网站开发工期安排网站建设规划方案包括
  • 网站建设代码排版出错网站开发和运营合同分开签么
  • 梁山城乡建设局网站做网站优化的协议书
  • 和平县做网站做网站前端和平面配合
  • 生鲜配送网站建设闸北区网站建设网页设
  • 凡客网站可以建设会员系统吗百度软件中心下载
  • 十大电子游戏平台网站柯桥网站建设哪家好_绍兴市场推广_非凡分类信息
  • 腾讯云主机能给几个网站备案中文在线中文资源