Day44

news2024/11/24 18:00:12

思维导图

在这里插入图片描述

练习

全局变量,int monster = 10000;定义英雄类hero,受保护的属性string name,int hp,int attck;公有的无参构造,有参构造,虚成员函数 void Atk(){blood-=0;},法师类继承自英雄类,私有属性 int ap_atk=50;重写虚成员函数void Atk(){blood-=(attck+ap_atk);};射手类继承自英雄类,私有属性 int ac_atk = 100;重写虚成员函数void Atk(){blood-=(attck+ac_atk);}实例化类对象,判断怪物何时被杀死。

#include <iostream>
using namespace std;

static int blood = 10000;

class hero
{
protected:
    string name;
    int hp;
    int attack;
public:
    hero(){}
    hero(string name,int hp,int attack):name(name),hp(hp),attack(attack){}

    virtual void Atk()
    {
        blood -= 0;
    }
};

class master:public hero
{
    int ap_atk = 50;
public:
    master(){}
    master(string name,int hp,int attack):hero(name,hp,attack){}
    void Atk()
    {
        blood -= attack + ap_atk;
        cout << "Master  Attack:-" << attack + ap_atk;
    }
};

class shooter:public hero
{
    int ac_atk = 100;
public:
    shooter(){}
    shooter(string name,int hp,int attack):hero(name,hp,attack){}
    void Atk()
    {
        blood -= attack + ac_atk;
        cout << "Shooter Attack:-" << attack + ac_atk;
    }
};

void monster(hero &p)
{
    p.Atk();
}


int main()
{
    master h1("zzz",2000,2100);
    shooter h2("xxx",3000,1125);
    cout << "Monster HP:" << blood << endl;
    while(blood > 0)
    {

        monster(h1);
        if(blood <= 0)
            break;
        cout << "   Monster HP:" << blood << endl;
        monster(h2);
        if(blood <= 0)
            break;
        cout << "   Monster HP:" << blood << endl;
    }
    cout << "   Monster Killed" << endl;
    return 0;
}


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/714516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【操作系统】一些重要的概念

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

敏捷开发SCRUM工具

目录 1 Scurm开发工具1.1 白板1.2 PingCode1.3 VersionOne1.4 Atlassian Jira 2 PingCode进行Scurm开发2.1 角色管理2.2 创建敏捷项目2.3 需求管理2.4 迭代2.5 版本管理 1 Scurm开发工具 1.1 白板 上面我们说了Scurm框架的操作流程&#xff0c;下面我们看下支持Scurm开发框架的…

SpringBoot3【③ 数据访问】

整合SSM场景 SpringBoot 整合 Spring、SpringMVC、MyBatis 进行数据访问场景开发 1. 创建SSM整合项目 勾选的情况下会导入这些包 <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency><groupId>…

JMeter进行websocket测试

在做websocket性能测试的时候找了几个测试工具都暂时没有对websocket的支持&#xff0c;发现jmeter好像对websockect支持。但是使用jmeter时需要安装插件&#xff0c;下面一起看一下。 jmeter下载安装&#xff1a; 官网下载 https://jmeter.apache.org/download_jmeter.cgi 也…

【Java用法】Java在Linux下获取当前程序路径以及在Windows下获取当前路径对比

Java在Linux下获取当前程序路径以及在Windows下获取当前路径对比 log.info("分隔符&#xff1a;File.separator[{}]", File.separator); log.info("用户主目录&#xff1a;user.home[{}]", System.getProperties().getProperty("user.home")); l…

(模拟) 31. 下一个排列——【Leetcode每日一题】

❓ 31. 下一个排列 难度&#xff1a;中等 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3] &#xff0c;以下这些都可以视作 arr 的排列&#xff1a;[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的…

loki 的memberlist查看

本文来自&#xff1a;loki 的memberlist查看 | 老五笔记 loki作为目前比较 通用的日志类数据管理软件&#xff0c;使用起来具有一定的门槛。loki既可以支持单机版使用&#xff0c;也可以为了应对大规模数据而采用集群模式进行部署。 而在集群模式下&#xff0c;需要在配置文件…

You need to use a Theme.AppCompat theme (or descendant) with this activity

You need to use a Theme.AppCompat theme (or descendant) with this activity 最近使用Android Studio新建了个 Jetpack Compose项目&#xff0c;但创建java Activity时报错“You need to use a Theme.AppCompat theme (or descendant) with this activity”。 两种解决办法…

ipad可以用别的品牌的手写笔吗?ipad专用笔替代品

要知道&#xff0c;这款正版苹果的电容笔&#xff0c;单单一支价格都要接近上千元。事实上&#xff0c;对于那些没有很多预算的人来说&#xff0c;平替电容笔是一个很好的选择。一支苹果原装的电容笔&#xff0c;价格是平替电容笔的四倍&#xff0c;但这种平替电容笔&#xff0…

Uniapp开发的开源盲盒系统源码

最近比较火的盲盒系统&#xff0c;该项目是基于uniapp开发的盲盒项目&#xff0c;有需要的朋友可以联系我&#xff0c;运营级的项目&#xff0c;本次开源的是uniapp前端模板&#xff0c;选用技术为JAVA&#xff0c;采用框架&#xff1a;spring bootmybatisvue开发。 通过node安…

day2 QT按钮与容器

目录 按钮 1、QPushButton 2、QToolButton 3、QRadioButton 4、QCheckBox 示例 容器 ​编辑 1. QGroupBox&#xff08;分组框&#xff09; 2. QScrollArea&#xff08;滚动区域&#xff09; 3. QToolBox&#xff08;工具箱&#xff09; 4. QTabWidget&#xff08;选…

LLaMA

LLaMA 1&#xff0c;llama 参数范围7B 13B 33B 65B 在万亿token上训练的模型&#xff0c; 2,研究重点 研究表明&#xff0c;最好的模型性能不是由最大的模型体积实现&#xff0c;而是在更多的数据上训练较小的模型实现 工作重点是通过使用比通常更多的token&#xff0c;训练一系…

05-Redis初步使用

关系型数据的ACID特性:事务的四大特性:原子性,一致性,隔离性,持久性 关系型数据库应对的三高问题:高并发,高效率,高扩展 关系型数据库和非关系型数据库 关系型数据库的数据存储在表中,无法应对陡增的数据 非关系型数据库使用键值对的方式进行存储数据:redis可以用作缓存 r…

U-Boot移植 - 3_U-Boot 命令使用

文章目录 U-Boot 命令使用1. 信息查询命令2. 环境变量操作命令2.1 修改环境变量2.2 新建环境变量2.3 删除环境变量 3. 内存操作命令3.1 md 命令3.2 nm 命令3.3 mm 命令3.4 mw 命令3.5 cp 命令3.6 cmp 命令 4. 网络操作命令4.1 ping 命令4.2 dhcp 命令4.3 nfs 命令4.4 tftp 命令…

Pinia基础使用 (vite vue3)

Pinia 概念 是 Vue 的存储库&#xff0c;它允许您跨组件/页面共享状态。 Vue官方推荐状态库 Pinia 的优点 pinia 符合直觉&#xff0c;易于学习。 pinia 是轻量级状态管理工具&#xff0c;大小只有1KB. pinia 模块化设计&#xff0c;方便拆分。 pinia 没有 mutations&#x…

Linux多进程数据交换--共享内存

个人博客地址: https://cxx001.gitee.io 基础 在linux系统开发当中&#xff0c;时常需要在多个进程之间交换数据&#xff0c;在多个进程之间交换数据&#xff0c;有很多方法&#xff0c;但最高效的方法莫过于共享内存。 linux共享内存是通过tmpfs这个文件系统来实现的&#x…

【漏洞案例】记一次aws-key泄露导致火币交易所被攻击案例

全球最大的加密货币交易所之一火币悄然修复了一个数据泄露事件&#xff0c;该泄露事件可能导致该公司的云存储被访问。火币无意中共享了一组凭证&#xff0c;授予其所有 Amazon Web Services S3 存储桶写入权限。 该公司使用 S3 存储桶来托管其 CDN 和网站。任何人都可以使用这…

shell中sed命令常用用法总结

1、sed命令匹配文本内容进行替换 #-i 可以直接在原始文本中匹配替换&#xff0c;s/匹配内容/需要替换的内容/g &#xff0c;g是以一行为全局&#xff0c;有g说明每行中匹配到的都需要替换&#xff0c;没有g说明&#xff0c;只需要替换每行中的第一个匹配到的。 sed -i s/pool …

前端 鱼骨图 elenemt ui

展示图 代码 <template><div><divclass"fishbone":style"{ height: calc((${topChiderH} ${topChiderH}) 33px) }"><div class"top-box"><divclass"flex-items"ref"topChilderen":style"…

使用预训练CNN生成图像嵌入(image embeddings)

文章目录 什么是图像嵌入&#xff1f;来自 Kaggle 的狗品种图像数据集从狗品种图像数据集生成图像嵌入参考 什么是图像嵌入&#xff1f; 图像嵌入是图像的低维表示。换句话说&#xff0c;它是图像的密集向量表示&#xff0c;可用于分类等许多任务。 例如&#xff0c;这些深度…