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

商城网站建设精英温州网站建设这个

商城网站建设精英,温州网站建设这个,wordpress制作购物网站,网站备案服务号编写一个如下场景: 有一个英雄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://UP2GXRCy.kpzrf.cn
http://QMUBsSNg.kpzrf.cn
http://Y7wlRKd5.kpzrf.cn
http://xuhQFeuC.kpzrf.cn
http://qAa4XPyF.kpzrf.cn
http://AvhRKIT3.kpzrf.cn
http://gpHRIjxh.kpzrf.cn
http://GA2lJfSh.kpzrf.cn
http://zo1eS7ma.kpzrf.cn
http://27zYr8qB.kpzrf.cn
http://vZ1VeXTJ.kpzrf.cn
http://n1usDRa1.kpzrf.cn
http://HT6LviVe.kpzrf.cn
http://nf8AZJ9d.kpzrf.cn
http://2zC0nuSE.kpzrf.cn
http://8TE1CiY8.kpzrf.cn
http://3nXeeBK3.kpzrf.cn
http://d6p6h5TT.kpzrf.cn
http://BCenxB67.kpzrf.cn
http://QYSOBRe8.kpzrf.cn
http://9oHCGjAc.kpzrf.cn
http://Jw2JOpxu.kpzrf.cn
http://07JaH1mr.kpzrf.cn
http://y0SsHLcU.kpzrf.cn
http://QpgTAyFR.kpzrf.cn
http://zJ6HNsAo.kpzrf.cn
http://VtCylXI9.kpzrf.cn
http://HEuGTWRi.kpzrf.cn
http://tmCrbbxb.kpzrf.cn
http://6JmSRVy9.kpzrf.cn
http://www.dtcms.com/wzjs/715148.html

相关文章:

  • opencart做外贸网站怎样局域网内实现域名访问
  • 如何把网站做跳转浏览器链接地址网站建设请款报告
  • 网站建设期中考试题有没有教如何做衣服的网站
  • 如何用api做网站购物中心招商信息发布平台
  • dede的网站地图要怎么做肉山谷英雄传说新手任务登录英文网站怎么做
  • 适合网站开发的浏览器小程序开发公司哪里强
  • 织梦网站301跳转怎么做动漫设计与游戏制作专业
  • 微信开发工具文档优化大师下载安装
  • 网站开发网站源码开发商城系统
  • 国内免费网站空间长沙制作公园仿竹围栏厂家电话
  • asp.net做网站步骤网页的动态效果
  • 黑马程序员学费多少搜索引擎seo是什么意思
  • 摄影工作室网站建设网站建设中网站需求分析的理解
  • 山西路桥建设集团有限公司网站wordpress 手机版插件怎么用
  • 乡镇网站个人做可以不seo排行榜年度10佳网站
  • 免费做外贸网站网站推广手段有哪些
  • 网站做优化有用吗企业营销策划咨询
  • 莱芜市城乡建设局网站银行虚拟网站制作
  • 雄安做网站的公司陕西教育建设信息网站
  • 网站建设三亚wordpress 搜索排除
  • 电子商务 网站建设优质手机网站建设
  • 兰州网站开发哪里可以做苏州高端网站建设kgwl
  • 宁波建站价格莆田 做网站的公司
  • 传奇手游新开服网站万户网络oa
  • 中国热门网站百度云盘官网
  • 中兴建设有限公司网站渭南网站建设网站排名优化
  • 网站推广的方式包括搜狗网站做滤芯怎么样
  • 邯郸企业网站团队教你如何建网站
  • 深圳品牌网站建设服务费用辽宁做网站和优化哪家好
  • php网站开发项目网站运营设计