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

酒店网站建设功能广州百度关键词搜索

酒店网站建设功能,广州百度关键词搜索,超链接网站建设,网站怎样做免费优化有效果编写一个如下场景: 有一个英雄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/wzjs/309193.html

相关文章:

  • wordpress同时置顶多篇文章网站优化外包价格
  • 个旧市建设网站最好用的搜索引擎
  • 不写代码做网站广告推广渠道有哪些
  • 长沙软件公司有哪些公众号seo排名优化
  • 分销网站建设方案排名函数rank怎么用
  • gta5房产网站在建设营销型网站定制
  • html网站怎么做视频教程在线检测网站安全
  • 自助建站系统厂家seo推广方案
  • 网站开发进度计划表链接搜索
  • 个人怎么做ckmov解析网站谷歌搜索引擎入口
  • 网站开发和嵌入式开发上海seo公司哪个靠谱
  • 如何建设合法的网站seo优化网站网页教学
  • 电商网站制作流程图南通网络推广
  • 北京公司电话大全黄页wp博客seo插件
  • Wordpress慢加内存还是带宽seo排名优化推荐
  • 大都会app下载二维码内部搜索引擎优化
  • 怎么做视频还有网站郑州网络推广代理
  • 杭州企业自助建站系统哪些行业适合做网络推广
  • 哈尔滨门户网站设计报价aso具体优化
  • 动漫网站开发 百度一下软文范例大全200字
  • 做网站都需要买什么软文广告500字
  • 网站建设方案怎样写常德seo公司
  • fw可以做网站北京百度推广代理公司
  • 设计一个网站花多少时间优秀网站设计
  • 做网站编辑器如何推广一个产品
  • 免费域名注册哪个网站好免费建站网站
  • 建网站需要身份证吗外链网站
  • 微网站建设网站北京seo招聘信息
  • 网站用什么软件seo排名优化googleplay官网
  • 税务 网站建设 重视本地建站软件有哪些