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

昆山网站建设机构武汉网站seo

昆山网站建设机构,武汉网站seo,规划建立一个网站,商城网站建设套餐作业: 编写一个如下场景: 有一个英雄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/wzjs/446596.html

相关文章:

  • 自学网站开发设计关于华大18年专注seo服务网站制作应用开发
  • 深圳龙华汽车网站建设自己的网站怎么推广
  • java语言怎么做网站主要推广手段免费
  • 网站建立好了自己怎么做优化百度安装下载
  • 郑州做网站的公司网店代运营靠谱吗
  • 网站推广与营销知识百度搜索链接
  • 网站建设售后服务内容网络服务商
  • 采集类淘宝客网站怎么做快速建站平台
  • 网站搭建就来徐州百度网络非常好seo收费低
  • 怎么判断一个网站做的好新媒体平台
  • 论坛类网站如何备案谷歌搜索入口手机版
  • 加强网站党建频道建设seo技术专员招聘
  • 策划公司组织结构图南昌seo优化公司
  • 做sns网站需要什么广州白云区今天的消息
  • 营销型网站知识上海抖音推广
  • 所有爱做网站近期网络营销的热点事件
  • vs2010网站开发登录代码市场调研报告最佳范文
  • 想做一个静态网页网站不需要有后台数据库seo关键词排名优化方法
  • 设计日本网站长沙百度快速优化
  • 石家庄网站建设石家庄seo点击软件哪个好用
  • 手机上怎么做网站百度官网进入
  • 网站上怎么做动画广告视频在线观看电商还有发展前景吗
  • 国际军事新闻头条郑州专业seo首选
  • 公司转让流程seo规范培训
  • 网站突然消失了视频网站推广
  • 动态网站开发考证seo l
  • 温岭住房和城乡建设委员会网站线上营销的优势
  • 网站建设案例行业现状郑州网站建设十大公司
  • 网投网站制作外贸网站推广费用
  • 苍南建设网站优化的含义