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

钦州建设局网站教你学做窗帘的网站

钦州建设局网站,教你学做窗帘的网站,网页游戏传奇霸主,和生活app下载安装最新版编写一个如下场景: 有一个英雄Hero类,私有成员,攻击,防御,速度,生命值,以及所有的set get 方法 编写一个 武器 Weapon 类,拥有私有成员攻击力,以及set get 方法 编写一个…

编写一个如下场景:
有一个英雄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;// 武器基类
class Weapon {
private:int attack;
public:void setAttack(int val) { attack = val; }int getAttack() { return attack; }// 多态函数,装备武器时的行为virtual void equip(Hero* hero) = 0;
};// 英雄类
class Hero {
private:int attack;int defense;int speed;int life;
public:void setAttack(int val) { attack = val; }void setDefense(int val) { defense = val; }void setSpeed(int val) { speed = val; }void setLife(int val) { life = val; }int getAttack() { return attack; }int getDefense() { return defense; }int getSpeed() { return speed; }int getLife() { return life; }// 装备武器函数void equipWeapon(Weapon* w) {w->equip(this); // 调用武器的equip函数,传入当前英雄对象}// 打印英雄属性void printStats() {cout << "英雄属性: " << endl;cout << "攻击值: " << attack << endl;cout << "防御值: " << defense << endl;cout << "速度值: " << speed << endl;cout << "生命值: " << life << endl;}
};// 长剑类,继承自武器类
class Sword : public Weapon {
private:int lifeBonus; // 生命值加成
public:Sword(int attack, int lifeBonus) {setAttack(attack);this->lifeBonus = lifeBonus;}void setLifeBonus(int val) { lifeBonus = val; }int getLifeBonus() { return lifeBonus; }// 实现equip函数,装备长剑时增加英雄的攻击力和生命值void equip(Hero* hero) override {hero->setAttack(hero->getAttack() + getAttack());hero->setLife(hero->getLife() + lifeBonus);}
};// 匕首类,继承自武器类
class Blade : public Weapon {
private:int speedBonus; // 速度加成
public:Blade(int attack, int speedBonus) {setAttack(attack);this->speedBonus = speedBonus;}void setSpeedBonus(int val) { speedBonus = val; }int getSpeedBonus() { return speedBonus; }// 实现equip函数,装备匕首时增加英雄的攻击力和速度void equip(Hero* hero) override {hero->setAttack(hero->getAttack() + getAttack());hero->setSpeed(hero->getSpeed() + speedBonus);}
};// 斧头类,继承自武器类
class Axe : public Weapon {
private:int defenseBonus; // 防御力加成
public:Axe(int attack, int defenseBonus) {setAttack(attack);this->defenseBonus = defenseBonus;}void setDefenseBonus(int val) { defenseBonus = val; }int getDefenseBonus() { return defenseBonus; }// 实现equip函数,装备斧头时增加英雄的攻击力和防御力void equip(Hero* hero) override {hero->setAttack(hero->getAttack() + getAttack());hero->setDefense(hero->getDefense() + defenseBonus);}
};int main(int argc, const char** argv) {// 创建一个英雄Hero hero;hero.setAttack(10);hero.setDefense(5);hero.setSpeed(8);hero.setLife(100);// 打印初始属性cout << "初始化英雄属性:" << endl;hero.printStats();// 创建不同的武器Sword sword(15, 20); // 长剑,攻击力+15,生命值+20Blade blade(10, 5);  // 匕首,攻击力+10,速度+5Axe axe(20, 10);     // 斧头,攻击力+20,防御力+10// 装备长剑hero.equipWeapon(&sword);cout << endl << "装备长剑后:" << endl;hero.printStats();// 装备匕首hero.equipWeapon(&blade);cout << endl << "装备匕首之后:" << endl;hero.printStats();// 装备斧头hero.equipWeapon(&axe);cout << endl << "装备斧头之后:" << endl;hero.printStats();return 0;
}

运行结果:

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

相关文章:

  • 石家庄建设工程信息网站企业管理平台软件
  • 什么网站做家具出口关于做花茶网站的策划书
  • 设计师可以做兼职的网站有哪些微博推广技巧
  • 12306建网站多少钱百度下载应用
  • 深圳建站公司兴田德润官网多少网站网址前的小图标怎么做
  • 如何查询网站的访问量阿里云做网站怎么样
  • 地产主视觉设计网站商城源码开源
  • 阳春网站开发知乎营销平台
  • 只做网站不做app事业单位的网站建设费列哪
  • 自建网站三种模式做婚庆找什么网站
  • 互联网建站网站wordpress插件留言墙
  • 2小时wordpress建站wordpress可视化文章
  • 保定制作公司网站凡客诚品官网网址
  • 为什么我的网站没有百度索引量张掖网站设计公司
  • wordpress开启子域名多站贷款网站建设方案
  • 北京高端网站tk域名注册官网
  • 无法连接到wordpress站点做网站国内好的服务器
  • 引导式网站北京广告制作公司
  • 天津网站建设座机号做视频网站容易收录吗
  • 自己做网站自己买服务器已购买域名 如何做网站
  • wordpress建站需要多久ppt模板app
  • 太原网站网络推广wordpress上传到哪个文件夹
  • 合肥建站推广php与 wordpress
  • 资讯文章网站模板wordpress inc文件夹
  • 查网站权重佛山住建
  • 可以做相册的网站线上推广渠道和方式
  • 关于未备案网站电子商务网站网络安全设计方案
  • 北京网站开发网站建设报价青岛制作网站哪家公司好
  • wordpress网站缩进口博览会2022
  • 皮肤自做头像的网站沈阳 网站建设