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

C++day6作业

1.思维导图

2.编程题:

以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:

比喻:动物园的讲解员和动物表演

想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。

在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。

具体过程如下:

定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。

解:

程序代码:

#include <iostream>using namespace std;
class Animal//创建一个抽象类Animal,包含动物名字、种类、行为和年龄四个属性
{
protected:string name;//姓名string kind;//种类string act;//表演行为int age;//年龄
public:Animal(){}Animal(string name,string kind,string act,int age):name(name),kind(kind),act(act),age(age){}virtual void perform()=0;//使用纯虚函数};
class Lion:public Animal//创建派生类Lion,继承Animal类,增加性别属性
{
private:string sex;
public:Lion(){}Lion(string name,string kind,string act,int age,string sex):Animal(name,kind,act,age),sex(sex){}void perform()// 对父类的成员函数重写{cout << "这是一只" << sex <<kind << "它的名字叫" << name << "它今年" <<age << "岁了" << "它正在表演" << act << endl;}};
class Elephant:public Animal//创建派生类Elephant,继承Animal类,增加体重属性
{
private:int weight;
public:Elephant(){}Elephant(string name,string kind,string act,int age,int weight):Animal(name,kind,act,age),weight(weight){}void perform(){cout << "这是一只" << kind << "它的名字叫" << name << "它今年" <<age << "岁了"<< "它重达"<< weight << "斤"<< "它正在表演" << act << endl;;}};
class Monkey:public Animal//创建派生类Monkey,继承Animal类,增加外号属性
{
private:string nickname;
public:Monkey(){}Monkey(string name,string kind,string act,int age,string nickname):Animal(name,kind,act,age),nickname(nickname){}void perform(){cout << "这是一只" << kind << "它的名字叫" << name << "它有一个外号叫"<<nickname<< "它今年" <<age << "多岁了"<< "它正在表演" << act << endl;}};
class Chicken:public Animal//创建派生类Chicken,继承Animal类,增加练习时长属性
{
private:string year;
public:Chicken(){}Chicken(string name,string kind,string act,int age,string year):Animal(name,kind,act,age),year(year){}void perform(){cout << "这是一只" << "练习时长"<< year  << "的" << kind << "它的名字叫" << name << "它今年" <<age << "岁了"<< "它正在表演" << act <<endl;;}};int main()
{//创建不同种类的动物对象Lion s1("辛巴","美洲狮","河东狮吼",3,"公");Elephant s2("曼尼","猛犸象","泰山压顶",3,11000);Monkey s3("孙悟空","猕猴","大闹天宫",2000,"齐天大圣");Chicken s4("坤坤","坤哥","唱、跳、Rap、篮球",25,"两年半");Animal *p= &s1;p->perform();p=&s2;p->perform();p=&s3;p->perform();p=&s4;p->perform();return 0;
}

 代码截图:

 运行结果:

 

相关文章:

C++day6作业

1.思维导图 2.编程题&#xff1a; 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&am…...

【 毕设项目源码推荐 javaweb 项目】 基于 springboot+vue 的图书个性化推荐系统的设计与实现(springboot003)

简介 :::warning 【 毕设项目源码推荐 javaweb 项目】 基于 springbootvue 的图书个性化推荐系统的设计与实现适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负…...

FFmpeg编译hevc版本,支持mac、linux系统

相关前置库 openssl 仓库&#xff1a;https://github.com/openssl/openssl.git编译方式参考INSTALL.md中的步骤 # Unix / Linux / macOS$ ./config$ make && sudo make installlame库 如果需要处理mp3相关&#xff0c;依赖lame库&#xff0c; 仓库&#xff1a;https…...

AI系统ChatGPT程序源码+AI绘画系统源码+支持GPT4.0+Midjourney绘画+已支持OpenAI GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...

Unity 3D 调整cube的颜色

1.选中Assets后&#xff0c;右键->Create->Material 2.调整Material的颜色&#xff0c;然后将Material拖到对应的cube上...

数字通信和fpga概述——杜勇版本学习笔记

1数字通信处理流程 脉冲调制是每个数字通信系统中间必不可少的环节&#xff0c;通常是使用升余弦滚降滤波器来实现。 超外差接收机原理是利用本地产生的振荡波与输入信号混频&#xff0c;将输入信号频率变换为某个预先确定的频率的方法。超外差原理最早是由E.H.阿姆斯特朗于1…...

17.复制字符串 ,包括\0

#include<stdio.h> #include <cstring>int main(){int len1,len2;char s1[44];char s2[33];scanf("%s",s1);scanf("%s",s2);len1strlen(s1)1;printf("先s1的字符长度为&#xff1a;%d\n",len1) ;strcpy(s1,s2) ;printf("复制字…...

C# List<T>.IndexOf()方法的使用

C#中的List<T>.IndexOf()方法用于查找指定元素在列表中的索引位置。它返回第一个匹配项的索引&#xff0c;如果未找到匹配项&#xff0c;则返回-1。 语法&#xff1a;有三种参数可选 int List<T>.IndexOf(T item); int List<T>.IndexOf(T item, int star…...

深入理解JVM虚拟机第十八篇:JVM种局部变量表结构的认识

大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻JVM 本文章简介:话不多说,让我们讲清楚虚拟机栈存储结构和运行原理 文章目…...

zabbix监控安装-linux

zabbix6.4中文文档1. 简介 (zabbix.com) Zabbix 是一个企业级的开源分布式监控解决方案。 1.zabbix结构体系 Server&#xff1a; server 是存储所有配置、统计和操作数据的中央存储库。 Proxy&#xff1a; zabbix proxy可以代替 Zabbix server 收集性能和可用性数据。p…...

7+差异分析+WGCNA+PPI网络,学会了不吃亏

今天给同学们分享一篇生信文章“Integrated PPI- and WGCNA-Retrieval of Hub Gene Signatures Shared Between Barretts Esophagus and Esophageal Adenocarcinoma”&#xff0c;这篇文章发表在Front Pharmacol期刊上&#xff0c;影响因子为5.6。 结果解读&#xff1a; 选定研…...

接口自动化测试

下面我们来看看&#xff0c;针对在本章优化重构后的接口测试框架来说&#xff0c;有哪些优点呢。 我们首先来看下目录&#xff0c; 1.Case文件夹用来存放我们的测试用例相关的&#xff0c; 2.Data用来存储我们的测试数据&#xff0c;Excel管理测试用例&#xff0c;yaml文件管理…...

SPASS-描述性分析

将身高移入变量 结果展示&#xff1a; 表中分析变量“身高”的个案数、所有个案中的极大值、极小值、均值、标准差及偏度和峰度...

kafka-go操作kafka

package mainimport ("context""fmt""os""os/signal""syscall""time""github.com/segmentio/kafka-go" )var (topic "user_click"reader *kafka.Reader )// 生产消息 func writeKafka(ctx …...

如何判断被DDoS攻击

当网络和设备正常的情况下&#xff0c;服务器突然出现连接断开、访问卡顿、用户掉线等情况;服务器CPU或内存占用率出现明显增长;网络出入流量出现明显增长;网站或应用程序突然出现大量的未知访问;登录服务器失败或者登录过慢等等。以上是最为常见的服务器被 DDoS攻击后出现的几…...

web —— html

Web —— css基础 1. HTML2. 基本HTML结构3. HTML常用标签3.1 文本相关标签3.2 HTML图像标签3.3 HTML超链接标签3.4 HTML表&#xff0c;单3.4.1 HTML表格3.4.2 HTML表单&#xff0c;输入框&#xff08;多选框&#xff0c;单选框&#xff09;下拉框 3.5 HTML分区标签3.5.1 div标…...

【C/PTA】数组练习(编程)

本文结合PTA专项练习带领读者掌握数组&#xff0c;刷题为主注释为辅&#xff0c;在代码中理解思路&#xff0c;其它不做过多叙述。 文章目录 7-1 计算最大值出现的次数7-2 求一批整数中出现最多的个位数字7-3 装箱问题7-4 数组-值钱的微信号7-5 数组-吹泡泡7-6 数组-数学鬼才 7…...

力扣:155. 最小栈(Python3)

题目&#xff1a; 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部…...

uniapp实现在线PDF文件预览

下载pdf文件放在static文件夹下 bug&#xff1a;hbuildX创建的项目pdf文件夹可以放在根目录下面&#xff0c;但是cli创建的项目无法预览&#xff0c;只能放在static下面 按钮跳转预览页面 <button click"toPdf">pdf</button>methods: {toPdf() {uni.…...

Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器(一)

下一篇&#xff1a;Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器&#xff08;二&#xff09;-CSDN博客 介绍&#xff1a; Windows操作系统中自带了一款记事本应用程序&#xff0c;通常用于记录文字信息&#xff0c;具有简单文本编辑功能。Windows的记事本可以新…...

互斥锁与消息队列的架构哲学

更多精彩内容请访问&#xff1a;通义灵码2.5——基于编程智能体开发Wiki多功能搜索引擎更多精彩内容请访问&#xff1a;更多精彩内容请访问&#xff1a;通义灵码2.5——基于编程智能体开发Wiki多功能搜索引擎 一、资源争用的现实镜像 当多个ATM机共用一个现金库时&#xff0c;…...

【Elasticsearch】映射:Join 类型、Flattened 类型、多表关联设计

映射&#xff1a;Join 类型、Flattened 类型、多表关联设计 1.Join 类型1.1 主要应用场景1.1.1 一对多关系建模1.1.2 多层级关系建模1.1.3 需要独立更新子文档的场景1.1.4 文档分离但需要关联查询 1.2 使用注意事项1.3 与 Nested 类型的区别 2.Flattened 类型2.1 实际运用场景和…...

Linux系统编程-DAY10(TCP操作)

一、网络模型 1、服务器/客户端模型 &#xff08;1&#xff09;C/S&#xff1a;client server &#xff08;2&#xff09;B/S&#xff1a;browser server &#xff08;3&#xff09;P2P&#xff1a;peer to peer 2、C/S与B/S区别 &#xff08;1&#xff09;客户端不同&#…...

Linux环境-通过命令查看zookeeper注册的服务

假设前置条件如下&#xff1a; 1.root权限用户名&#xff1a;zookeeper 2.zookeeper所在服务器地址&#xff1a;168.7.3.254&#xff08;非真实ip&#xff09; 3.zookeeper的bin文件路径&#xff1a;/opt/zookeeper/bin 4.确保zookeeper注册中心已启动 查看注册中心服务如下&a…...

QT的工程文件.pro文件

文章目录 QT的工程文件.pro文件QT5中的基本模块Qt CoreQt GUIQt WidgetsQt QMLQt QuickQt NetworkQt SQLQt MultimediaQt ConcurrentQt WebEngineQt TestLib TARGET 可选择的模版CONFIG的配置项 QT的工程文件.pro文件 每一个QT项目都至少有一个.pro文件&#xff0c;用来配置项目…...

数据源指的是哪里的数据,磁盘中还是内存中

在 MyDB 项目中&#xff0c;特别是这段缓存框架代码&#xff1a; T obj getForCache(key);以及它的上下文&#xff1a; AbstractCache 是一个抽象类&#xff0c;内部有两个抽象方法&#xff0c;留给实现类去实现具体的操作&#xff1a; protected abstract T getForCache(lon…...

GitOps 核心思想 - 当 Git 成为唯一信源

GitOps 核心思想 - 当 Git 成为唯一信源 在我们之前的 CI/CD 系列中,我们构建了一条流水线:GitHub Actions 在代码测试和构建通过后,执行 kubectl apply 命令将变更推送 (Push) 到 Kubernetes 集群。这种模式非常普遍且有效,但当系统规模和团队复杂度增加时,它可能会遇到一…...

视频音频去掉开头结尾 视频去掉前n秒后n秒 电视剧去掉开头歌曲

视频音频去掉开头结尾 视频去掉前n秒后n秒 视频音频去掉开头结尾 视频去掉前n秒后n秒 电视剧去掉开头歌曲 如果你有一些视频或者音频&#xff0c;你想去掉开头或结尾的几秒钟&#xff0c;那么你可以尝试一下这个工具&#xff0c;首先&#xff0c;我们来看一下&#xff0c;我们以…...

解析“与此站点的连接不安全”警告:成因与应对策略

一、技术本质&#xff1a;SSL/TLS协议的信任链断裂 现代浏览器通过SSL/TLS协议建立加密通信&#xff0c;其核心在于证书颁发机构&#xff08;CA&#xff09;构建的信任链。当用户访问网站时&#xff0c;浏览器会验证服务器证书的有效性&#xff0c;包括&#xff1a; 证书链完…...

Linux 系统中的算法技巧与性能优化

引言​ Linux 系统以其开源、稳定和高度可定制的特性&#xff0c;在服务器端、嵌入式设备以及开发环境中得到了极为广泛的应用。对于开发者而言&#xff0c;不仅要掌握在 Linux 环境下实现各类算法的方法&#xff0c;更要知晓如何利用系统特性对算法进行优化&#xff0c;以提升…...