C++ DAY5 作业

 1.全局变量,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 Atik()(blood-=(attck+ac_atk);}实例化类对象,判断怪物何时被杀死。(能写多少写多少)

#include <iostream>using namespace std;int Monster_blood = 10000;//英雄类
class Hero
{
protected:string name;int hp;int attck;
public://构造函数Hero(){cout << "Hero无参构造" << endl;}Hero(string name,int hp,int attck):name(name),hp(hp),attck(attck){cout << "Hero有参构造" << endl;}//虚函数virtual void Atk(){ Monster_blood -= 0;}};//法师类
class Master: public Hero
{int ap_atk = 50;
public://构造函数Master(string name,int hp,int attck):Hero(name,hp,attck){cout << "Master有参构造" << endl;}void Atk(){Monster_blood -= (attck + ap_atk);}
};//射手类
class Shooter:public Hero
{int ac_atk = 100;
public://构造函数Shooter(string name,int hp,int attck):Hero(name,hp,attck){cout << "Shooter有参构造" << endl;}void Atk(){Monster_blood -=(attck + ac_atk);}
};struct Attck_num
{int M_num;int S_num;
};
//打怪
Attck_num Beat_Monster(Master M1,Shooter S1,struct Attck_num num)
{while(Monster_blood >= 0){M1.Atk();if(Monster_blood >= 0){num.M_num++;}else {break;}S1.Atk();if(Monster_blood >= 0){num.S_num++;}else {break;}}return num;
}int main()
{Master M1("Raz",1000,60);Shooter S1("VN",1000,70);//定义打怪次数结构体struct Attck_num num;num.M_num = 0;num.S_num = 0;num = Beat_Monster(M1,S1,num);cout << "Master攻击次数:" << num.M_num << endl;cout << "Shooter攻击次数" << num.S_num << endl;cout << "Monster die" << endl;return 0;
}

2.思维导图

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

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

相关文章

CyberLink的颜色修正软件ColorDirector Ultra 2024 12.0版本在windows系统下载与安装配置

目录 前言一、ColorDirector Ultra 安装二、使用配置总结 前言 ColorDirector Ultra是由CyberLink公司开发的一款专业的颜色修正和调整工具&#xff0c;可以帮助用户实现对视频中颜色的全方位管理。该软件支持对各种分辨率的视频进行颜色调整&#xff0c;并且可以从各种设备&a…

QT系统移植教程

QT系统移植教程 QT系统移植教程 qt教程&#xff1a; http://www.qter.org/portal.php?modview&aid5 下载源码&#xff1a; http://download.qt.io/archive/qt/5.4/5.4.2/single/ 解压源码&#xff1a; tar -xvf qt-everywhere-opensource-src-5.4.2.tar.x…

【hive】报错累积

6.1 创建新表 错误1&#xff1a;FAILED: SemanticException [Error 10006]: Line 1:63 Partition not found "20210919" 场景&#xff1a;在创建例行表时&#xff0c;报错。这种情况是先创建了多级分区表&#xff08;date&#xff0c;product&#xff09;&#xff0c…

Ubuntu 20.04 上安装和使用 Docker

Ubuntu 20.04 上安装和使用 Docker 在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源&#xff0c;导入 GPG key&#xff0c;并且安装软件包。 一、开始安装 首先&#xff0c;更新软件包索引&#xff0c;并且安装必要的依赖软件&#xff0c;来添加一个新的 HTTP…

Spring学习目标

Spring概述Spring IOC[重点]基于注解的IOC配置Spring AOP[重点]基于注解的AOP配置Spring整合MyBatisSpring事务控制[重点]基于注解的事务控制

你不知道的 CSS 之 包含块 ! 最细讲解,一听就懂!

你不知道的 CSS 之包含块 一说到 CSS 盒模型&#xff0c;这是很多小伙伴耳熟能详的知识&#xff0c;甚至有的小伙伴还能说出 border-box 和 content-box 这两种盒模型的区别。 但是一说到 CSS 包含块&#xff0c;有的小伙伴就懵圈了&#xff0c;什么是包含块&#xff1f;好像…

devops使用+vscode使用

官方文档 使用 Git 进行代码 - Azure DevOps | Microsoft Learn 用ssh远程连接服务器debug 在插件中搜索SSH &#xff0c;具体步骤可以参考以下步骤 https://cloud.tencent.com/developer/article/1840922

Flutter 混合开发 - 动态下发 libflutter.so libapp.so

背景 最近在做包体积优化&#xff0c;在完成代码混淆、压缩&#xff0c;裁剪ndk支持架构&#xff0c;以及资源压缩&#xff08;如图片转webp、mp3压缩等&#xff09;后发现安装包的中占比较大的仍是 so 动态库依赖。 具体查看发现 libflutter.so 和 libapp.so 的体积是最大的&…

基于SpringBoot的图书电子商务网站的设计与实现

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的图书电子商务网站的设计…

LobeChat:搭建你的私人 GPT!

前端训练营&#xff1a;1v1私教&#xff0c;终身辅导计划&#xff0c;帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello&#xff0c;大家好&#xff0c;我是 Sunday。 之前有同学问我&#xff1a;“老师&#xff0c;我想要搭建一个个人的 …

2024.1.2C语言 结构

一.结构的定义 1.概念 在C语言中&#xff0c;结构是一种用户自定义的数据类型&#xff0c;它允许您将多个不同类型的数据组合成一个单一的数据类型,如 struct student {int num;//学号char name[10];//姓名int computer, english, math;//3门课程成绩double average;//个人平…

《编程之光:解密ECMAScript与JavaScript的微妙关系》

目录 1. ECMAScript&#xff1a;光芒背后的规范2. JavaScript&#xff1a;语言的真实承载者3. 为何关系微妙&#xff1f;4. 编程之光的启示结尾&#xff1a; 标题&#xff1a;《编程之光&#xff1a;解密ECMAScript与JavaScript的微妙关系》 在前端开发的世界中&#xff0c;ECM…

搞懂flyaway一篇就够了

Flyway是一个用于数据库迁移的开源工具,它可以帮助开发人员轻松地管理数据库架构的变化。Flyway通过迁移来更新数据库,迁移可以使用特定于数据库的SQL语法或者用于高级数据库转换的Java编写。Flyway支持两种类型的迁移:有版本的迁移和可重复的迁移。有版本的迁移具有唯一的版…

Python编写API接口

本文将从以下几个方面详细阐述Python编写API接口的方法和技巧&#xff0c;希望能够对开发工程师们有所帮助&#xff1a; 一、API接口的基本概念 API全称为Application Programming Interface&#xff0c;是一种应用程序接口&#xff0c;可让不同的程序之间进行交互。API接口通…

TDD-LTE 附着流程和去附着流程

目录 1. 附着流程 1.1. 正常附着流程 2. 异常附着流程 2.1 RRC建立失败 2.2 核心网拒绝 2.3 eNodeB未收到初始化上下文建立请求 2.4 RRC重配置请求丢失 2. 去附着流程 2.1 非关机去附着流程 2.1.1 连接态非关机去附着 2.1.2 空闲态非关机去附着 2.2 关机去附着流程 …

实战Keras3.0:自定义图片数据集分类任务

一、创建自定义图片数据集 1、数据收集 以10张小狗图片和10张小猫图片为例 2、数据预处理 1、创建Excel表格&#xff0c;并在其中创建两列&#xff0c;一列是图片路径&#xff0c;另一列是对应的标签&#xff08;狗0、猫1&#xff09; 2、用pandas库的read_excel函数读取Exc…

java企业人事信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web企业人事信息管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为M…

【学习记录23】Linux环境下安装nginx

自己折腾了个服务器在上面跑前端项目&#xff0c;记录一下以备后期查询&#xff0c;为了省钱每年都换一次云服务器。。。每次都得重装各种东西&#xff01;&#xff01;&#xff01; 1、安装所需环境 //安装gcc yum install gcc-c//安装PCRE pcre-devel yum install -y pcre …

Python-单行赋值的执行顺序

一般情况下&#xff0c;python 的元组赋值可以当作没有顺序&#xff1a; a, b 1, 2 a Out[3]: 1 b Out[4]: 2 但是如果交换的变量存在关联&#xff0c;元组赋值就是有顺序的&#xff1a; a, b b, a a, b Out[6]: (2, 1) 结果是a,b的值交换了顺序。如果按照&#xff1a; …

RTC第二个功能和应用程序

一般RTC模块设备管理时间日历、计时器等。从年到二。一些爱普生RTC 模块可以通过使用来自32768 Hz的分割频率来管理次第二功能。本文件 描述了RTC模块的三个具体的应用程序。&#xff08;表1&#xff09; 表1中的功能和产品 [FOUT函数应用程序] 图1描述了RTC模块&#xff0…