C++-DAY5

有以下类,完成特殊成员函数

#include <iostream>

using namespace std;
class Person
{
    string name;
    int *age;
public:
    //有参构造
    Person(string name,int age):name(name),age(new int(age)){}
    //析构函数
    ~Person()
    {
        delete age;
    }
    //拷贝构造
    Person(const Person &other):name(other.name),age(new int(*(other.age))){}
    //拷贝赋值
    Person &operator=(const Person &other)
    {
        if(this!=&other)
        {
            this->name=other.name;
            *(this->age)=*(other.age);
        }
        return *this;
    }
};
class Stu:public Person
{
    const double score;
public:
    //无参构造
    Stu():Person("路人甲",18),score(60.0){}
    //有参构造
    Stu(string name,int age,double score):Person(name,age),score(score){}
    //析构函数
    ~Stu(){}
    //拷贝构造
    Stu(const Stu &other):Person(other),score(other.score){}
    //拷贝赋值
    Stu &operator=(const Stu &other)
    {
        if(this!=&other)
        {
            Person::operator=(other);
        }
        return *this;
    }

};


int main()
{
    cout << "Hello World!" << endl;
    return 0;
}

2尝试写:定义一个全局变量int monster=10000;定义一个英雄类Hero,受保护的属性,string nameint hp,int attck,写一个无参构造、有参构造,类中有虛函数:void Atk()(monster-=0;};法师类,公有继承白英雄类,私有属性:int ap ack;写有参,重写父类中的虚函数,射手类,公有继承自英雄类,私有属性:int ad ack;写有参构造,重写父类中的虚函数,主函数内完成调用,判断怪物何时被杀死。

#include <iostream>
using namespace std;
int monster=10000;
class Hero
{
protected:
    string name;
    int hp;
    int attack;
    //无参构造
    Hero():name("路人甲"),hp(100),attack(5){}
    //有参构造
    Hero(string name,int hp,int attack):name(name),hp(hp),attack(attack){}
    virtual void Atk(){monster-=0;}
};
class Mage:public Hero
{
    int ap_ack;
public:
    Mage(string name,int hp,int attack,int ap_ack):Hero(name,hp,attack),ap_ack(ap_ack){}
    void Atk()
    {
        int t=0;
        while(monster>=0)
        {
            monster-=ap_ack;
            t++;
        }
        cout << "经历了" << t << "秒的战斗,怪物被" << name << "消灭了" << endl;
        monster=10000;
    }
};
class Archer:public Hero
{
    int ad_ack;
public:
    Archer(string name,int hp,int attack,int ad_ack):Hero(name,hp,attack),ad_ack(ad_ack){}
    void Atk()
    {
        int t=0;
        while(monster>=0)
        {
            monster-=ad_ack;
            t++;
        }
        cout << "经历了" << t << "秒的战斗,怪物被" << name << "消灭了" << endl;
        monster=10000;
    }
};

int main()
{
    Mage m1("维肯",500,23,95);
    m1.Atk();
    Archer a1("安娜",250,33,125);
    a1.Atk();
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FreeRTOS-系统时钟节拍和时间管理

一、前言 任何操作系统都需要提供一个时钟节拍&#xff0c;以供系统处理诸如延时&#xff0c;超时等与时间相关的事件。时钟节拍是特定的周期性中断&#xff0c; 这个中断可以看做是系统心跳。 中断之间的时间间隔取决于不同的应用&#xff0c;一般是 1ms – 100ms。时钟的节拍…

GQA分组注意力机制

一、目录 定义demo 二、实现 定义 grouped query attention&#xff08;GQA&#xff09; 1 GQA 原理与优点&#xff1a;将query 进行分组&#xff0c;每组query 参数共享一份key,value, 从而使key, value 矩阵变小。 2. 优点&#xff1a; 降低内存读取模型权重的时间开销&am…

无缝迁移:从阿里云WAF到AWS的成功转变之路

在当今数字化浪潮中&#xff0c;网络安全已经成为企业发展的重要组成部分。阿里云WAF&#xff08;Web 应用防火墙&#xff09;作为一种重要的网络安全解决方案&#xff0c;帮助企业保护其 Web 应用免受各种网络攻击。 然而&#xff0c;随着企业业务的扩展和需求的变化&#xf…

可替代IBM DOORS的现代化需求管理解决方案Jama Connect,支持数据迁移及重构、实时可追溯性、简化合规流程

作为一家快速发展的全球性公司&#xff0c;dSPACE一直致力于寻找保持领先和优化开发流程的方法。为推进其全球现代化计划&#xff0c;dSPACE开始寻找可以取代传统需求管理平台&#xff08;IBM DOORS&#xff09;的需求管理解决方案。 通过本次案例&#xff0c;您将了解dSPACE为…

数据结构-简单队列

1.简介 队列为一个有序列表&#xff0c;可以用数组或链表来实现。 先进先出原则。先存入队列的数据先取出&#xff0c;后存进队列的数据后取出。 这里对比一下&#xff0c;栈是后来者居上 下面使用数组来模拟队列&#xff0c;用数组的结构来存储队列的数据&#xff1a; Que…

Stable Diffusion教程:额外功能/后期处理/高清化

"额外功能"对应的英文单词是Extras&#xff0c;算是直译。但是部分版本中的翻译是“后期处理”或者“高清化”&#xff0c;这都是意译&#xff0c;因为它的主要功能是放大图片、去噪、修脸等对图片的后期处理。注意这里边对图片的处理不是 Stable Diffusion 本身的能…

微软开源了 MS-DOS 4.00

DOS的历史源远流长&#xff0c;很多现在的年轻人不知道DOS了。其实早期的windows可以看做是基于DOS的窗口界面的模拟器&#xff0c;系统的本质其实是DOS。后来DOS的漏洞还是太多了&#xff0c;微软重新写了windows的底层内核。DOS只是一个辅助终端的形式予以保留了。 微软是在…

FreeRTOS学习——FreeRTOS队列(上)

本篇文章记录我学习FreeRTOS队列的相关知识&#xff0c;主要包括队列简介、队列的结构体、队列创建等知识。 队列是为了任务与任务、任务与中断之间的通信而准备的&#xff0c;可以在任务与任务、任务与中断之间传递消息&#xff0c;队列中可以存储有限的、大小固定的数据项目。…

大白菜启动U盘想格式化但格式化不了

部分区域被修改分区表保护起来了。直接格式化的话&#xff0c;里面的文件夹都还在。根本格式化不了。特别是可用容量并未还原出来。 进入计算机管理》磁盘管理&#xff0c;看到U盘盘符。别搞错了。删除掉里面的已经分的区域和未分区区域&#xff0c;让它还原成一个整体。退出。…

分类预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多特征分类预测

分类预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多特征分类预测 目录 分类预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现POA-BP鹈鹕算法优化BP神经网络多特征分类预测&#xff08;Matlab实…

javaweb学习week6

javaweb学习 九.登录认证 5.登录后下发令牌 生成令牌&#xff1a;引入JWT令牌操作工具类&#xff0c;登录完成后&#xff0c;调用工具类生成JWT令牌&#xff0c;并返回 代码实例&#xff1a; 6.Filter入门 概念&#xff1a;Filter过滤器&#xff0c;是Javaweb三大组件之一…

在STM32上实现无线传感器网络节点

引言 无线传感器网络&#xff08;WSN&#xff09;是物联网&#xff08;IoT&#xff09;技术的关键组成部分&#xff0c;广泛应用于环境监测、智能建筑、精密农业等领域。 本教程将介绍如何在STM32微控制器上设计和实现一个无线传感器网络节点&#xff0c;包括硬件选择、网络协…

企业计算机服务器中了helper勒索病毒怎么办?Helper勒索病毒解密处理流程

网络技术的不断发展与成熟&#xff0c;为企业的生产运营提供了极大便利&#xff0c;让企业的发展速度大大提升&#xff0c;但网络毕竟是虚拟服务系统&#xff0c;虽然可以为企业提供便利&#xff0c;但也会给企业数据安全带来严重威胁。近日&#xff0c;云天数据恢复中心接到山…

visionPro链接相机

搜索Cognex GigE Vision Configura… 修改子网掩码为255.255.255.0 配置驱动程序 更新驱动&#xff08;如果能够选择9014Bytes&#xff0c;跳过此步骤&#xff09; 更新更改 相机ip配置 打开visionPro 选择照相机 查看实时画面 运行保存图像

【论文】关于网页上能打开的文章下载PDF“显示无效或损坏的 PDF 文件”的解决办法

1. 遇到的问题 今天我在 dl.acm.org/doi 下载论文时发现下载后的pdf打开出现“显示无效或损坏的 PDF 文件” 可是在原网址是可以打开并显示的 2. 解决方案 这里我用到了和之前【论文】去除PDF论文行号的完美解决方案 的相似的解决办法 就是下载的时候不直接下载&#xf…

【java9】java9新特性之接口的私有方法

在Java 9中&#xff0c;接口可以包含私有方法&#xff08;包括静态私有方法和实例私有方法&#xff09;。这允许接口的设计者创建一些辅助方法&#xff0c;这些方法只能被接口中的其他方法所使用&#xff0c;而不能被实现该接口的类直接访问。 Java7 Java7及之前 &#xff0c…

文件缓冲区

为什么要有文件缓冲区的存在&#xff1f; 假设甲在云南&#xff0c;甲的朋友乙在北京&#xff0c;甲想给乙送个东西就需要跑到北京去&#xff1a;这时候有菜鸟驿站了&#xff0c;甲就不用跑了&#xff0c;直接把包裹交给菜鸟驿站就可以了。缓冲区就类似于菜鸟驿站&#xff0c;…

【vscode环境配置系列】vscode远程debug配置

VSCODE debug环境配置 插件安装配置文件debug 插件安装 安装C/C, C/C Runner 配置文件 在项目下建立.vscode文件夹&#xff0c;然后分别建立c_cpp_properties.json&#xff0c; launch.json&#xff0c;tasks.json&#xff0c;内容如下&#xff1a; c_cpp_properties.json:…

Dockerfile实战(SSH、Systemctl、Nginx、Tomcat)

目录 一、构建SSH镜像 1.1 dockerfile文件内容 1.2 生成镜像 1.3 启动容器并修改root密码 二、构建Systemctl镜像 2.1 编辑dockerfile文件 ​编辑2.2 生成镜像 2.3 启动容器&#xff0c;并挂载宿主机目录挂载到容器中&#xff0c;然后进行初始化 2.4 进入容器验证 三、…

进程的概念(2)

进程优先级 1.什么的优先级 概念&#xff1a;指定进程获取某种资源&#xff08;CPU&#xff09;的先后顺序 本质&#xff1a;优先级的本质是优先级数字的大小&#xff0c;Linux中优先级数字越小&#xff0c;优先级越高 task_struct 进程控制快-> struct -> 内部字段 -&g…