0903作业+思维导图

一、作业

1》多态的实现

1、代码

#include <iostream>using namespace std;
//父类
class Person
{
public:string name;int age;
public:Person(){}Person(string n,int a):name(n),age(a){}~Person(){}//纯虚函数virtual void show() = 0;
};
//子类1
class Stu:public Person
{
private:int score;    //成绩int ranking;  //排名
public:Stu(){}Stu(int s,int r,string n,int a):Person(n,a),score(s),ranking(r){}~Stu(){}void show(){cout<<name<<":年龄:"<<age<<",成绩"<<score<<",总排名"<<ranking<<endl;}
};
//子类2
class Teacher:public Person
{
private:int num;    //所带班级人数int wages;  //薪资
public:Teacher(){}Teacher(int num,int w,string n,int a):Person(n,a),num(num),wages(w){}~Teacher(){}void show(){cout<<name<<":年龄:"<<age<<",薪资"<<wages<<",所带班级总人数"<<num<<endl;}
};
//全局函数
void fun(Person &s)
{s.show();
}
int main()
{Stu s1(90,7,"zhangsan",16);Teacher t1(41,5600,"xiaoming",35);fun(s1);fun(t1);return 0;
}

2、运行截图

2》自己封装栈和队列

1、栈的实现代码

#include <iostream>using namespace std;
//栈类
class Stack
{
private:int *ptr; //数据指针int top;  //栈顶元素数int max;
public:Stack():top(-1),max(20){ptr = new int[max];   //申请空间cout<<"无参构造"<<endl;}~Stack(){delete ptr;           //释放空间cout<<"析构函数"<<endl;}Stack(Stack &s):ptr(new int(*s.ptr)),top(s.top),max(s.max){cout<<"拷贝构造函数"<<endl;}//写入初始栈内容void operator=(int a){//判满if(a>max){cout<<"error"<<endl;return;}//写入内容for(int i=0;i<a;i++){cout<<"请输入第"<<i+1<<"位数为:";cin>>ptr[i];top++;}}//栈顶元素访问int stack_top(){return ptr[top];}//判空bool empty(){return top==-1;}//元素数int size(){return top+1;}//向栈顶插入元素void push(int n){//判满if(top==max-1){cout<<"无法继续插入"<<endl;return;}++this->top;this->ptr[top] = n;}//删除栈顶元素void pop(){//判空if(empty()){return;}this->top--;}void show(){for(int i=0;i<top+1;i++){cout<<ptr[i]<<"    ";}cout<<endl;}
};int main()
{Stack s1;   //实例化一个自定义的栈类s1.operator=(5);//初始化cout<<s1.stack_top()<<endl;cout<<s1.size()<<endl;s1.push(7);    //入栈s1.show();s1.pop();      //出栈s1.show();cout<<"***************"<<endl;Stack s2=s1;s2.show();return 0;
}

2、栈的运行结果

3、队列的实现代码

#include <iostream>using namespace std;
//队列类
class Queue
{
private:int size;      //队列最大容量int num;      //队列内元素数int *ptr;     //容器
public:Queue():size(20),num(0){ptr = new int[this->size];cout<<"无参构造"<<endl;}~Queue(){delete ptr;           //释放空间cout<<"析构函数"<<endl;}Queue(Queue &q):size(q.size),num(q.num),ptr(new int(*q.ptr))    //深拷贝{cout<<"拷贝构造函数"<<endl;}int front(){if(empty()){cout<<"队列为空无法返回"<<endl;return -1;}return ptr[0];}int back(){if(empty()){cout<<"队列为空无法返回"<<endl;return -1;}return ptr[num-1];}bool empty(){return num==0;}int queue_size(){return num;}void push(int n){//判满if(num>=size){cout<<"容器已满无法继续加入"<<endl;return;}this->num++;this->ptr[num-1] = n;cout<<"添加完毕"<<endl;}void pop(){//判空if(empty()){cout<<"容器为空无法删除"<<endl;return;}for(int i=0;i<this->num;i++){this->ptr[i]=this->ptr[i+1];}this->num--;cout<<"删除完毕"<<endl;}void show(){for(int i=0;i<num;i++){cout<<ptr[i]<<"  ";}cout<<endl;}
};int main()
{Queue q1;q1.push(1);q1.push(2);q1.push(3);q1.show();q1.pop();q1.show();cout<<q1.front()<<"  "<<q1.back()<<endl;Queue q2=q1;q2.show();return 0;
}

4、队列的实现结果

二、思维导图(继承,多态)

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

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

相关文章

wsl下将Ubuntu从c盘移动到其他盘

一、概述 因为自己的C盘内存不足&#xff0c;加上之后需要在Ubuntu下面下载许多的内容和东西&#xff0c;需要将其移动到d盘上面&#xff0c;这样可以拥有更大的空间。这里记载了一下自己的操作过程。 二、具体步骤 &#xff08;一&#xff09;过程 1.查看当前系统中wsl分发版…

Haskell爬虫:连接管理与HTTP请求性能

爬虫技术作为数据抓取的重要手段&#xff0c;其效率和性能直接影响到数据获取的质量与速度。Haskell&#xff0c;作为一种纯函数式编程语言&#xff0c;以其强大的类型系统和并发处理能力&#xff0c;在构建高效爬虫方面展现出独特的优势。本文将探讨在Haskell中如何通过连接管…

技术Leader在训练团队思考力中的核心职责

引言 在技术驱动的行业中&#xff0c;技术团队的创新能力与问题解决能力往往直接关联到项目的成败与企业的竞争力。而这一切的基石&#xff0c;离不开团队中每一个成员的思考力。作为技术团队的领航者&#xff0c;技术Leader在培养和提升团队思考力方面扮演着至关重要的角色。…

【Godot4.3】基于纯绘图函数自定义的线框图控件

概述 同样是来自2023年7月份的一项实验性工作&#xff0c;基于纯绘图函数扩展的一套线框图控件。初期只实现了三个组件&#xff0c;矩形、占位框和垂直滚动条。 本文中的三个控件类已经经过了继承化的修改&#xff0c;使得代码更少。它们的继承关系如下&#xff1a; 源代码 W…

AI智能分析/智慧安防EasyCVR视频汇聚平台新版本(V3.6.0)播放鉴权与播放限制时长的区别介绍

随着科技的飞速发展&#xff0c;视频技术已成为现代社会不可或缺的一部分&#xff0c;广泛应用于安防监控、娱乐传播、在线教育、电商直播等多个领域。EasyCVR视频汇聚平台作为视频技术的佼佼者&#xff0c;不断推陈出新&#xff0c;通过功能更新迭代&#xff0c;为用户提供更加…

WEB服务与虚拟主机/IIS中间件部署

WWW&#xff08;庞大的信息系统&#xff09;是基于客户机/服务器⽅式的信息发现技术和超⽂本技术的综合。网页浏览器//网页服务器 WWW的构建基于三项核⼼技术&#xff1a; HTTP&#xff1a;超文本传输协议&#xff0c;⽤于在Web服务器和客户端之间传输数据。HTML&#xff1a;⽤…

SpringCloud开发实战(三):集成Eureka注册中心

目录 SpringCloud开发实战&#xff08;一&#xff09;&#xff1a;搭建SpringCloud框架 SpringCloud开发实战&#xff08;二&#xff09;&#xff1a;通过RestTemplate实现远程调用 Eureka简介 Eureka 是一个基于 Java 的开源技术&#xff0c;最广为人知的是作为 Netflix 开发…

ElasticSearch学习笔记(六)自动补全、拼音分词器、RabbitMQ实现数据同步

文章目录 前言11 自动补全11.1 拼音分词器11.2 自定义分词器11.3 自动补全查询 12 数据同步12.1 实现方案12.1.1 同步调用12.1.2 异步通知12.1.3 监听binlog 12.2 异步通知实现数据同步12.2.1 声明交换机和队列12.2.2 发送MQ消息12.2.3 接收MQ消息并操作ES 前言 ElasticSearch…

互联网职场说 | “400w能否实现‘躺平’的生活”

近年来&#xff0c;“躺平”一词在国内职场中频频出现&#xff0c;表达了许多年轻人对工作压力和生活负担的不满与逃避心理。 近日&#xff0c;一位网友在社交平台上提出了一个引人深思的问题&#xff1a;“400万可以躺平吗&#xff1f;有房有车无贷款。” 网友们也各抒己见&a…

GB/T28181规范和JT1078交通部标差异

技术背景 好多开发者区分不太清楚GB/T28181和JT1078规范&#xff0c;实际上&#xff0c;二者在规范定义、技术特点、过检认证以及应用场景等方面均存在显著差异。两者各有其适用领域和优势&#xff0c;但在某些特定场景下也可能需要相互协作以实现更全面的监控和管理。 规范定…

[学术论文] KBS期刊介绍及投稿流程学习笔记

该专栏主要是论文投稿的记录笔记&#xff0c;希望对初学者有所帮助&#xff0c;也希望大家论文都能命中。这篇文章主要介绍人工智能一区期刊Knowledge-Based Systems的投稿笔记&#xff0c;希望您喜欢&#xff01; 文章目录 一.期刊介绍二.投稿地址及模板1.投稿地址2.LaTex下载…

[工具使用]git

git fetch 获取远程仓库内容&#xff0c;但未合入本地仓库&#xff1b; git rebase 获取远程仓库内容&#xff0c;并更改基地合入本地仓库&#xff1b; 将master分支的内容合入feature分支&#xff1a; 当在feature分支上执行git rebase master时&#xff0c;git会从master…

Datawhale X 李宏毅苹果书 AI夏令营-深度学习进阶task3:批量归一化

1.批量归一化 如果误差表面很崎岖&#xff0c;它比较难训练。批量归一化&#xff08;Batch Normalization&#xff0c;BN&#xff09;就是其中一个“把山铲平”的想法 如图 所示&#xff0c;假设两个参数对损失的斜率差别非常大&#xff0c;在 w1 这个方向上面&#xff0c;斜…

聚观早报 | 苹果推出AI消除功能;比亚迪2024上半年营收

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 8月30日消息 苹果推出AI消除功能 比亚迪2024上半年营收 真我GT7 Pro渲染图曝光 苹果iPhone 16开始印度量产 故宫…

旗帜分田(华为od机考题)

一、题目 1.原题 从前有个村庄&#xff0c;村民们喜欢在各种田地上插上小旗子&#xff0c;旗子上标识了各种不同的数字。 某天集体村民决定将覆盖相同数字的最小矩阵形的土地的分配给为村里做出巨大贡献的村民&#xff0c; 请问&#xff0c;此次分配土地&#xff0c;做出贡献…

MMsegmentation与MMdeploy简单使用

最近涉及到了图像分割的任务&#xff0c;于是拿来写下博客加深下使用。 MMsegmentation与MMdeploy的环境配置暂不做讲解&#xff0c;在官网和其他博客中有很多说明。 MMdeploy主要是把pt转为 onnx_int8的情况。 MMsegmentation环境配置可以参考 : 安装与配置MMSegmentation 目录…

DriveLM的baseline复现

DriveLM是一篇很有意思的工作&#xff0c;把自动驾驶跟MLLM结合到一起了&#xff0c;实现端到端的决策。 Repo&#xff1a;https://github.com/OpenDriveLab/DriveLM 该工作是基于nuScenes数据集做的&#xff0c;官方paper里给出了数据的具体构建方式&#xff0c;感兴趣的可以…

[HZNUCTF 2023 preliminary]easyAPK-快坚持不下去的第三天

第一做安卓题&#xff0c;前提jadx,java环境&#xff0c;模拟器&#xff0c;我配了好久&#xff0c; 这段代码实现了一个简单的登录界面&#xff0c;用户需要输入用户名和密码。用户名和密码会与预设的硬编码值进行比较&#xff0c;登录成功后会启动另一个 Activity。如果密码错…

★ 算法OJ题 ★ 力扣11 - 盛水最多的容器

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将和大家一起做一道双指针算法题--盛水最多的容器~ 目录 一 题目 二 算法解析 三 编写算法 一 题目 11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 二 算法解析 解法1&#xff1a;暴力枚举 …

Mysql基础练习题 620.有趣的电影 (力扣)

620.编写解决方案&#xff0c;找出所有影片描述为 非 boring (不无聊) 的并且 id 为奇数 的影片,返回结果按 rating 降序排列 题目链接&#xff1a; https://leetcode.cn/problems/not-boring-movies/ 建表插入数据&#xff1a; Create table If Not Exists cinema (id int…