10.12作业

news2024/11/15 9:11:23

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

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

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

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

具体过程如下:

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

#include <iostream>

using namespace std;

class Animal {
  public:
    virtual void Perform() = 0;
    virtual ~Animal() {}
};

class Loin: public Animal {
  public:
    void Perform() {
        cout << "I'm loin" << endl;
    }
};

class Tiger: public Animal {
  public:
    void Perform() {
        cout << "I'm tiger" << endl;
    }
};

class Elephant: public Animal {
  public:
    void Perform() {
        cout << "I'm Elephant" << endl;
    }
};
int main() {
    Animal* p = new Loin;
    p->Perform();
    delete p;
    p = new Tiger;
    p->Perform();
    delete p;
    p = new Elephant;
    p->Perform();
    delete p;
    return 0;
}

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

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

相关文章

运放供电设计 以及电压反馈电流反馈选择

因为OPA350可以直接驱动大电容 不需要对称&#xff0c;只要输出在电压范围内就可以 注&#xff1a;电流反馈运放一定要注意电阻取值&#xff0c;并且不能并电容

如何swagger关闭及给swagger加参数信息

项目的swagger方便研发人员调试&#xff0c;上线之后需要将swagger关闭这时候需要给原来的Configuration注解换成ConditionlOnProperty注解及可。注解参数信息 ConditionalOnProperty(name "swagger.enable", havingValue "true")若swagger想加入额外参…

Halcon我的基础教程(一)(我的菜鸟教程笔记)-halcon仿射变换(Affine Transformation)的探究与学习

目录 什么是仿射变换?仿射变换有哪些方式?任何仿射变换都能由以下基本变换构造而来:在Halocn中,仿射变换具有重要的作用,那我们本文章重点讨论仿射变换基础性知识。 使用Halcon中的重要算子,仿射变换一般解决步骤,案例应用会在以后的文章中我们重点解答与讨论。 我们首先…

基于 ceph-deploy 部署 Ceph 集群 超详细

Ceph part1 一、存储基础1.1 单机存储设备1.2 单机存储的问题1.3 单机存储问题的解决方案1.3.1 商业存储解决方案1.3.2 分布式存储&#xff08;软件定义的存储 SDS&#xff09; 二、分布式存储2.1 常见的分布式存储2.2 分布式存储的类型 三、Ceph概述3.1 Ceph简介3.2 Ceph 优势…

【另类加法】

目录 一、题目解析二、算法原理三、代码实现 一、题目解析 二、算法原理 三、代码实现 class Solution {public:int add(int A, int B){if(A 0)return B;else if(B 0)return A;elsereturn add(A^B, (A&B)<<1);} }

ASEMI整流桥KBU810参数,KBU810特性

编辑-Z KBU810参数描述&#xff1a; 型号&#xff1a;KBU810 最大直流反向电压VR&#xff1a;1000V 最大工作峰值反向电压VRWM&#xff1a;700V 最大平均正向电流IF&#xff1a;8A 非重复正向浪涌电流IFSM&#xff1a;300A 操作和储存温度范围TJ ,TSTG&#xff1a;-55 t…

LeetCode【1】两数之和

题目&#xff1a; 代码&#xff1a; public int[] twoSum(int[] nums, int target) {int[] result new int[2];Map<Integer, Integer> map new HashMap<>();// for (int i 0; i < nums.length; i) { // 这么写不能防重复啊&#xff01;注意这里不…

低功耗Sub-1G全频段收发一体芯片DP4306 适用无线对讲机 工业数据采集等应用

无线电对讲机既是移动通信中的一种专业无线通信工具&#xff0c;又是一种能满足人们生活需要的具有消费类产品特点的消费工具。顾名思义移动通信就是通信一方和另一方在移动中实现通信。 它是一种无线的可在移动中使用的一点对多点进行通信的终端设备&#xff0c;可使许多人同时…

【工具软件】在 window11 下使用微信读书app

作者&#xff1a;你们是大牛 链接&#xff1a;https://www.zhihu.com/question/340264583/answer/2439158730 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 在windows11上可以使用wsa, 也就是windows下的安卓子系统…

完美解决 :ModuleNotFoundError: No module named ‘dlib‘

目录 1&#xff0c;报错信息 解决办法&#xff1a; 1&#xff0c;报错信息 尝试 pip install dlib 报错&#xff1a; 尝试解决办法&#xff1a; Python3.6版本——下载文件&#xff1a; dlib-19.6.0-cp36-cp36m-win_amd64.whl 下载网址 :dlib PyPI Python3.7版本——下载…

react中利用useRef、forwardRef、useImperativeHandle获取并处理dom

React如何给组件设置ref属性&#xff0c;如果直接绑给组件&#xff0c;代码如下&#xff1a; import { useRef } from "react"function MyInput() {return (<input type"text"/>) }function App() {const myRef useRef(null)const handleClick ()…

第一次汇报相关问题

深度学习现在已经学习到了Mini-Batch&#xff0c;early-stop等针对特定场景优化的算法了。 代码已经实现了一个L层的神经网络的构建了 论文看了一些综述 主要思考的两个方向&#xff1a;云计算和嵌入式 云计算&#xff1a;分布式机器学习、联邦学习、服务器负载均衡等 嵌入式&…

安卓wakelock机制

安卓wakelock机制 1.Wakelock作用2.WakeLock锁分类3.WakeLock的级别level 1.Wakelock作用 当手机灭屏状态下保持一段时间后&#xff0c;系统会进入休眠&#xff0c;这时&#xff0c;Android系统中CPU会保持在一个相对较低的功耗状态&#xff0c;一些后台运行的任务就可能得不到…

扁圆头带榫螺栓

声明 本文是学习GB-T 15-2013 扁圆头带榫螺栓. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了螺纹规格为M6&#xff5e;M24、 产品等级为C 级的扁圆头带榫螺栓。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是…

TypeError: safe_load() missing 1 required positional argument: ‘stream‘

诶&#xff0c;就很简单的问题&#xff0c;原因就是忘了加上需要读取到哪个文件这个参数&#xff0c;救命

区块链游戏的开发流程

链游&#xff08;Blockchain Games&#xff09;的开发流程与传统游戏开发有许多相似之处&#xff0c;但它涉及到区块链技术的集成和智能合约的开发。以下是链游的一般开发流程&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&…

2023年DDoS攻击暴增170%:美国、中国和印度是重灾区

根据网络安全厂商StormWall近日发布的《2023年一季度全球DDoS攻击综合报告》&#xff0c;2023年一季度DDoS攻击与2022年同期相比增长了47%。 DDoS攻击呈现三大趋势 调查结果显示DDoS攻击呈现三大趋势&#xff1a;僵尸网络再次兴起、针对关键基础设施&#xff0c;以及越来越多…

openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink

文章目录 openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink97.1 编译dblink97.2 常用的dblink函数97.3 注意事项 openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink openGauss的fdw实现的功能是各个openGauss数据库及远程服务器&#xff08;…

快速数据处理:根据多字段查找重复记录及删除多余记录

目录 为什么要处理重复记录 1 查询重复记录 2 查询重复记录使用的控件及代码 3 删除重复记录 4 导出数据 为什么要处理重复记录 如果一个数据集中含有重复记录&#xff0c;可能需要仅仅保留一条记录&#xff0c;清理掉多余的记录。重复记录的定义&#xff0c;可能仅根据一…

架构师成长路线图

成长为软件架构师不是一件容易的事&#xff0c;这篇文章列举了架构师需要学习的技术储备&#xff0c;给出了成为软件架构师的路线图&#xff0c;帮助有志于在架构领域成长的同学可以明确学习的方向。原文&#xff1a;Master Plan for becoming a Software Architect[1] Danist …