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

day7作业

编写一个如下场景: 有一个英雄Hero类,私有成员,攻击(Atx),防御(Defense),速度(Speed),生命值(Blood),以及所有的set get 方法 编写一个 武器 Weapon 类,拥有私有成员攻击力(Atx),以及set get 方法 编写一个 长剑 Sword 类,继承自武器类,拓展属性 生命值(Blood),以及set get 方法 编写一个 匕首Blade类,继承自武器类,拓展属性 速度(Speed),以及set get 方法 编写一个 斧头 Axe类,继承自武器类,拓展属性 防御力(Defense),以及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 Atx;int Defense;int Speed;int Blood;
public:Hero(int Atx=0,int Defense=0,int Speed=0,int Blood=0):Atx(Atx),Defense(Defense,Speed(Speed),Blood(Blood){}void setAtx(int atx) { Atx = atx; }int getAtx() const { return Atx; }void setDefense(int defense) { Defense = defense; }int getDefense() const { return Defense; }void setSpeed(int speed) { Speed = speed; }int getSpeed() const { return Speed; }void setBlood(int blood) { Blood = blood; }int getBlood() const { return Blood; }
};class Weapon{
private:int Atx;
public:		Weapon(int Atx=0):Atx(Atx){}virtual ~Weapon() {}virtual void equip(Hero* h) = 0;virtual void unequip(Hero* h) = 0;void setAtx(int atx) { Atx = atx; }int getAtx() const { return Atx; }};
class Sword:public Weapon{private:int Blood;public:Sword(int Blood=50):Defense(Defense){}void equip(Hero* h) {Weapon::equip(h);h->setBlood(h->getBlood() + bloodBonus);}void setBlood(int blood) {Blood = blood; }int getBlood() const { return blood; }
};
}class Blade:public Weapon{
private:int Speed;public:Sword(int Speed=50):Defense(Defense){}void equip(Hero* h) {Weapon::equip(h);h->setSpeed(h->getSpeed() + Speed;}void setSpeed(int speed) { Speed = speed; }int getSpeed() const { return speed; }
};}
class Axe:public Weapon{
private:int Defense;public:Axe(int Defense=50):Defense(Defense){}void equip(Hero* h) {Weapon::equip(h);h->setDefense(h->getDefense() + Defenss);}void setDefenseBonus(int defense) { Denfense = defense; }int getDefense() const { return Defense; }
};
}int main(int argc,const char** argv){Hero hero;Sword sword;Blade blade;Axe axe;
}

相关文章:

day7作业

编写一个如下场景&#xff1a; 有一个英雄Hero类&#xff0c;私有成员&#xff0c;攻击&#xff08;Atx&#xff09;&#xff0c;防御&#xff08;Defense&#xff09;&#xff0c;速度&#xff08;Speed)&#xff0c;生命值&#xff08;Blood)&#xff0c;以及所有的set get 方…...

图像处理之图像边缘检测算法

目录 1 图像边缘检测算法简介 2 Sobel边缘检测 3 经典的Canny边缘检测算法 4 演示Demo 4.1 开发环境 4.2 功能介绍 4.3 下载地址 参考 1 图像边缘检测算法简介 图像边缘检测是计算机视觉和图像处理中的基本问题&#xff0c;主要目的是提取图像中明暗变化明显的边缘细节…...

第二十五 :搭建 pinia 环境

第一步&#xff1a;npm install pinia 第二步&#xff1a;操作src/main.ts import { createApp } from vue import App from ./App.vue ​ /* 引入createPinia&#xff0c;用于创建pinia */ import { createPinia } from pinia ​ /* 创建pinia */ const pinia createPinia(…...

学习Java数组操作:从基础到高级技巧详解

在Java编程中&#xff0c;数组是一种非常基础且常用的非 primitives 数据结构&#xff0c;它用于存储一组相同类型的值。无论是数据处理、遍历还是其他操作&#xff0c;数组都是一个不可或缺的工具。本文将从数组的基本概念开始&#xff0c;逐步介绍常用的操作方法&#xff0c;…...

算法题(79):两个数组的交集

审题&#xff1a; 本题需要我们查找两个给定数组的无重复数据交集&#xff0c;并以数组的形式返回 思路&#xff1a; 方法一&#xff1a;set 之前我们学习过unordered_set的使用&#xff0c;但是unordered_set是无序的&#xff0c;而这里我们的比对算法需要有序数据&#xff0c…...

TFChat:腾讯大模型知识引擎+飞书机器人实现AI智能助手

效果 TFChat项目地址 https://github.com/fish2018/TFChat 腾讯大模型知识引擎用的是DeepSeek R1&#xff0c;项目为sanic和redis实现&#xff0c;利用httpx异步处理流式响应&#xff0c;同时使用buffer来避免频繁调用飞书接口更新卡片的网络耗时。为了进一步减少网络IO消耗&…...

Linux红帽:RHCSA认证知识讲解(四)修改远程配置文件,取消root禁用,便于使用root身份远程

Linux红帽&#xff1a;RHCSA认证知识讲解&#xff08;四&#xff09;修改远程配置文件&#xff0c;取消root禁用&#xff0c;便于使用root身份远程 前言一、远程连接的用途和原因二、通过 ssh 远程登陆系统三、默认限制及解决方案&#xff08;一&#xff09;非常规方法一&#…...

验证码介绍及生成与验证(HTML + JavaScript实现)

验证码介绍及生成与验证&#xff08;HTML JavaScript实现&#xff09; 验证码 验证码&#xff08;全自动区分计算机和人类的图灵测试&#xff0c;‌CAPTCHA &#xff0c;C‌ompletely ‌A‌utomated ‌P‌ublic ‌T‌uring test to tell ‌C‌omputers and ‌H‌umans ‌A‌…...

文心一言AI创意画

介绍 文心一言是百度推出的新一代知识增强大语言模型&#xff0c;属于文心大模型家族的新成员。‌它能够与人对话互动、回答问题、协助创作&#xff0c;高效便捷地帮助人们获取信息、知识和灵感。‌ 特点 文心一言基于数万亿数据和数千亿知识进行融合学习&#xff0c;采用预训…...

WebRTC解析

一、WebRTC 协议概述 WebRTC&#xff08;Web Real-Time Communication&#xff09;是由 Google 发起并成为 W3C 标准的实时音视频通信技术&#xff0c;核心特点&#xff1a; 零插件&#xff1a;浏览器原生支持端到端加密&#xff08;SRTP DTLS&#xff09;P2P 优先架构&…...

升级Office软件后,Windows 系统右键里没有新建Word、Excel、PowerPoint文件的解决办法

我办公用的电脑&#xff0c;Office 2013 已经用了好多年&#xff0c;最近突发奇想给升级到了 Ofiice 2024。升级过程还蛮顺利的&#xff0c;但是安装完成后&#xff0c;发现点右键里没有新建Word、Excel、PowerPoint&#xff0c;开始菜单里 Word、Excel、PowerPoint 使用都正常…...

车载DoIP诊断框架 --- 连接 DoIP ECU/车辆的故障排除

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…...

洛谷每日1题-------Day4__陶陶摘苹果

# P1046 [NOIP 2005 普及组] 陶陶摘苹果 ## 题目描述 陶陶家的院子里有一棵苹果树&#xff0c;每到秋天树上就会结出 $10$ 个苹果。苹果成熟的时候&#xff0c;陶陶就会跑去摘苹果。陶陶有个 $30$ 厘米高的板凳&#xff0c;当她不能直接用手摘到苹果的时候&#xff0c;就会踩…...

萌新学 Python 之模块管理

模块就是一个 python 代码文件&#xff0c;模块可以包含函数、类&#xff0c;可以提高代码复用率提高效率 python 模块主要分为三种&#xff1a; 1.内置模块&#xff1a;python 自带的模块&#xff0c;导入后可以直接使用&#xff0c;比如 import 模块名 2.第三方模块&#…...

6.3 - UART串口数据发送之中断

文章目录 1 实验任务2 系统框图3 软件设计 1 实验任务 本实验使用中断方式实现UART串口数据的连续发送。 2 系统框图 参见6.1。 3 软件设计 注意事项&#xff1a; 系统上电、程序下载后&#xff0c;此时TX FIFO虽然为空&#xff0c;但并不会触发空中断&#xff1b;空中断…...

Fisher信息矩阵(Fisher Information Matrix, FIM)与自然梯度下降:机器学习中的优化利器

Fisher信息矩阵与自然梯度下降&#xff1a;机器学习中的优化利器 在机器学习尤其是深度学习中&#xff0c;优化模型参数是一个核心任务。我们通常依赖梯度下降&#xff08;Gradient Descent&#xff09;来调整参数&#xff0c;但普通的梯度下降有时会显得“笨拙”&#xff0c;…...

Mysql基础-多表查询(详细版)

目录 一、表的关系类型与适用场景二、连接方式与使用场景三、易错点与注意事项四、总结 一、表的关系类型与适用场景 1. 一对一关系 场景&#xff1a;一个表的记录对应另一个表的唯一记录 案例&#xff1a;用户表 用户详情表 CREATE TABLE users (id INT PRIMARY KEY,name…...

港科大提出开放全曲音乐生成基础模型YuE:可将歌词转换成完整歌曲

YuE是港科大提出的一个开源的音乐生成基础模型&#xff0c;专为音乐生成而设计&#xff0c;专门用于将歌词转换成完整的歌曲&#xff08;lyrics2song&#xff09;。它可以生成一首完整的歌曲&#xff0c;时长几分钟&#xff0c;包括朗朗上口的声乐曲目和伴奏曲目。YuE 能够模拟…...

Python学习第十七天之PyTorch保姆级安装

PyTorch安装与部署 一、准备工作二、pytorch介绍三、CPU版本pytorch安装1. 创建虚拟环境2. 删除虚拟环境1. 通过环境名称删除2. 通过环境路径删除 3. 配置镜像源4. 安装pytorch1. 首先激活环境变量2. 进入pytorch官网&#xff0c;找到安装指令 5. 验证pytorch是否安装成功 四、…...

有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2

https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...