6.11 作业

ops/2024/10/18 7:51:36/

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

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

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

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

具体过程如下:

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

#include <iostream>using namespace std;
//封装一个基类 Animal包含一个虚函数perform
class Animal
{
public: //共有的virtual void perform() const = 0;//纯虚函数};//封装 狮子 类 共有继承 Animal 类
class Lion:public Animal
{
public:void perform() const override{cout << "狮子在吼叫" << endl;}
};
//封装一个 猴子 类 共有继承Animal 类
class Monkey:public Animal
{void perform() const override{cout << "猴子在爬树" << endl;}
};
//封装一个 大象 类 共有继承Animal 类
class Elephant:public Animal
{void perform() const override{cout << "大象在用鼻子喷水" << endl;}
};
//封装一个讲解员类
class ZooKeeper
{
public:void introduce(const Animal& animal){cout << "这只动物正在表演" << endl;animal.perform(); //多态调用}
};int main()
{ZooKeeper keeper;Lion lion;Elephant elephant;Monkey monkey;keeper.introduce(lion);keeper.introduce(elephant);keeper.introduce(monkey);return 0;
}


http://www.ppmy.cn/ops/48708.html

相关文章

WPF第三方开源UI框架:打造独特体验的魔法师

引言 在WPF&#xff08;Windows Presentation Foundation&#xff09;的世界中&#xff0c;除了微软提供的原生控件&#xff0c;还有许多第三方开源UI框架为开发者提供了更广阔的天地。这些框架以其创新和灵活性&#xff0c;帮助开发者打造出与众不同的用户体验。本文将带您走进…

孪生网络(Siamese Networks)和对比学习(Contrastive Learning)

目录 孪生网络&#xff08;Siamese Networks&#xff09; 对比学习&#xff08;Contrastive Learning&#xff09; 区别 SimCLR (A Simple Framework for Contrastive Learning of Visual Representations) MoCo (Momentum Contrast for Unsupervised Visual Representati…

现代密码学-国密算法

商用密码算法种类 商用密码算法 密码学概念、协议与算法之间的依赖关系 数字签名、证书-公钥密码、散列类算法 消息验证码-对称密码 &#xff0c;散列类 安全目标与算法之间的关系 机密性--对称密码、公钥密码 完整性--散列类算法 可用性--散列类、公钥密码 真实性--公…

2024050802-重学 Java 设计模式《实战模板模式》

重学 Java 设计模式&#xff1a;实战模版模式「模拟爬虫各类电商商品&#xff0c;生成营销推广海报场景」 一、前言 黎明前的坚守&#xff0c;的住吗&#xff1f; 有人举过这样一个例子&#xff0c;先给你张北大的录取通知书&#xff0c;但要求你每天5点起床&#xff0c;12点…

VirtualBox、Centos7下安装docker后pull镜像问题

Docker安装篇(CentOS7安装)_docker 安装 centos7-CSDN博客 首先&#xff0c;安装docker可以根据这篇文章进行安装&#xff0c;安装完之后&#xff0c;我们就需要去通过docker拉取相关的服务镜像&#xff0c;然后安装相应的服务容器&#xff0c;比如我们通过docker来安装mysql,…

【后端开发】服务开发场景之高可用(冗余设计,服务限流,降级熔断,超时重试,性能测试)

【后端开发】服务开发场景之高可用&#xff08;冗余设计&#xff0c;服务限流&#xff0c;降级熔断&#xff0c;超时重试&#xff0c;性能测试&#xff09; 文章目录 序&#xff1a;如何设计一个高可用的系统&#xff1f;可用性的判断指标是什么&#xff1f;哪些情况会导致系统…

XUbuntu24.04之制作ISO镜像启动盘(二百四十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Intel Core i7-14700KF

为了优化Intel Core i7-14700KF处理器的性能&#xff0c;可以考虑以下几个方面的建议&#xff1a; 散热和冷却系统优化&#xff1a; 确保使用高效的散热器或者水冷系统&#xff0c;特别是当处理器在高负载运行时&#xff0c;保持低温非常重要&#xff0c;可以避免性能因过热而降…