C++6.0

思维导图

.编程题:
以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:比喻:动物园的讲解员和动物表演
想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。
在这个场景中,我们可以将动物比作是不同的类,而海种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的个绍。具体过程致如下:
定义一个基类Animal,其中有一个虚函数perform(O,用于在子类中实现不同的表演行为。

#include <iostream>using namespace std;
//封装一个Animal类
class Animal
{
public://公共属性Animal(){}//无参构造函数virtual void perform(){}//虚函数,用于在子类中实现不同的表演行为
};
//封装一个Dog类,公共继承于Animal类
class Dog:public Animal
{
public://私有属性string name;
public://公共属性Dog(){}//无参构造函数Dog(string n):name(n){}//有参构造函数void perform()//Dog的表演行为{cout << name << "汪汪汪汪汪汪汪汪汪汪" << endl;}
};
//封装一个Cat类,公共继承于Animal类
class Cat:public Animal
{
public://私有属性string name;
public://公共属性Cat(){}//无参构造函数Cat(string n):name(n){}//有参构造函数void perform()//Cat的表演行为{cout << name << "喵喵喵喵喵喵喵" << endl;}
};int main()
{//分别用子类类实例化出对象Dog dog("狗");Cat cat("猫");//用基类类定义出l、e两个指针指向子类Animal *l,*e;l=&dog;e=&cat;//讲解员开始让动物们表演叫声行为l->perform();e->perform();return 0;
}

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

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

相关文章

【深入理解设计模式】单例设计模式

单例设计模式 概念&#xff1a; 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一。 单例设计模式是一种创建型设计模式&#xff0c;其主要目的是确保类在应用程序中的一个实例只有一个。这意味着无论在应用程序的哪个位置请求该类的实例&a…

单播、组播,广播介绍

单播、组播和广播是网络通信中的三种不同的数据传输方式&#xff0c;它们的主要区别在于数据传输的目标地址&#xff1a; 1. 单播&#xff08;Unicast&#xff09;&#xff1a;单播是指在网络中发送数据时&#xff0c;数据只会被发送到一个特定的目标地址。在单播传输中&#x…

【Vue2】element 穿梭框使用

<el-dialog :title"title" :visible.sync"showTransfer" width"650px" append-to-body><el-transfer :props"{key: stationId,label: stationName}":titles"[未关联电站, 已关联配电站]" :filterable"false&q…

IO 作业 24/2/19

1> 使用fread和fwrite完成两个文件的拷贝 #include <myhead.h> int main(int argc, const char *argv[]) {//定义被复制文件指针FILE *fp1NULL;if((fp1fopen("./111.bmp","r"))NULL){perror("error open");return -1;}//定义目标文件指…

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择

在2010年以Apache 2.0开源协议发布后&#xff0c;Elasticsearch迅速成为全球最受欢迎的企业搜索引擎。 Elasticsearch常与Logstash和Kibana一起部署&#xff0c;这一组合被称为 Elasitc Stack&#xff0c;用于启用日志分析用例&#xff0c;包括应用可观察性、安全日志分析和理解…

opencv计算机视觉

树莓派主机的无键盘解决 进入控制面板&#xff0c;更改适配器设置&#xff0c;WIFI属性&#xff0c;勾选 1.将网线两头分别接入树莓派和笔记本的网线接口 2.在无线连接属性那里勾选允许其他用户连接 3.运行cmd使用arp -a查看树莓派ip地址&#xff0c;或者使用ipscanner查看 cmd…

Springboot+vue的疫情信息管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的疫情信息管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的疫情信息管理系统&#xff0c;采用M&#xff08;model&a…

计算机专业必看的几部电影

计算机专业必看的几部电影 计算机专业必看的几部电影&#xff0c;就像一场精彩的编程盛宴&#xff01;《黑客帝国》让你穿越虚拟世界&#xff0c;感受高科技的魅力&#xff1b;《社交网络》揭示了互联网巨头的创业之路&#xff0c;《源代码》带你穿越时间解救世界&#xff0c;…

LeetCode每日一题589. N-ary Tree Preorder Traversal

文章目录 一、题目二、题解 一、题目 Given the root of an n-ary tree, return the preorder traversal of its nodes’ values. Nary-Tree input serialization is represented in their level order traversal. Each group of children is separated by the null value (S…

【Git】基本概念和使用方式

Git是一个分布式版本控制系统&#xff0c;用于管理和跟踪计算机文件的变化。它最初是由Linus Torvalds开发的&#xff0c;用于管理Linux内核的开发。 Git的基本概念包括&#xff1a; 仓库&#xff08;Repository&#xff09;&#xff1a;一个仓库是Git中存储项目文件和历史变更…

webdriver.Remotegrid

在其他主机上运行webdriver,可用于分布式执行环境 1.下载和Chrome版本对应的webdriver,将其添加到PATH环境变量中 Linux下:export PATH=$PATH:Library/Drivers >> ~/.bash_profile source ~/.bash_profileMac下: Mac 下的source xxx只会生效一次(从 macOS Catalina …

如何结合《ISO 55001资产管理-管理系统要求》,提升资产管理绩效

在当今竞争激烈的商业环境中&#xff0c;有效的资产管理对于组织的成功至关重要。ISO 55001标准为组织提供了一个框架&#xff0c;帮助其建立和维护一个高效的资产管理系统&#xff0c;从而实现更好地管理资产并提升业绩的目标。本文将探讨如何结合ISO 55001标准&#xff0c;以…

猫多喝水好吗?可以促进猫咪多喝水的主食分享

猫咪多喝水确实是有益的。适量的饮水对于猫咪的健康至关重要&#xff0c;有助于维持体液平衡、促进消化、减少便秘的风险&#xff0c;并对泌尿系统的健康起到保护作用。正常情况下&#xff0c;建议每公斤体重的猫每天摄入60-80毫升的水&#xff0c;除了与体重相关外&#xff0c…

python使用工厂模式和策略模式实现读文件、分析内容功能

当涉及到在 Python 中创建类以及使用设计模式来实现读取文件和分析内容的功能时&#xff0c;我们可以考虑使用工厂模式和策略模式的结合。下面是一个简单的示例&#xff0c;演示如何通过创建类和使用设计模式来实现这一功能&#xff1a; # 工厂模式&#xff1a;根据不同的分析…

使用chatgpt写VBA程序操作EXCEL

在chatgpt输入&#xff0c;我有个EXCEL&#xff0c;它有4列&#xff0c;第一列是序号&#xff0c;第二列是机号&#xff0c;第三列是日期&#xff0c;第四列是能耗。同一机号会对应多个日期和多个该日期的能耗。我想让同一个机号的数据下新增加一行&#xff0c;在这一行内算出该…

基于51单片机--智能指纹识别密码锁设计(软件准备)

一.系统介绍 本次分享的是一款基于51单片机的智能指纹识别密码锁设计&#xff0c;该系统以STC89C52单片机作为模块核心&#xff0c;通过串口通信控制指纹模块AS608实现录取指纹并存储指纹数据&#xff0c;并通过LCD12864液晶显示屏比对流程及效果&#xff0c;采用4X4矩阵键盘完…

【Linux系统化学习】深入理解文件系统(Ext2文件系统)

目录 前言 磁盘的物理结构 物理结构 磁头和盘片工作解析图 盘面区域划分图&#xff08;俯视盘面图&#xff09; 扇区的寻址、定位&#xff08;CHS定位&#xff09; 磁盘存储的逻辑抽象结构 LBA定址 文件系统 磁盘分区 EXT2文件系统 组块中的信息介绍 查看inode编号…

14个常见的Java课程设计/毕业设计合集(源码+文档)

从网上整理收集了14个常见的java系统设计源码&#xff0c;可以用于课程作业或者毕业设计。 1.基于java的家政预约网站系统 平台采用B/S结构&#xff0c;后端采用主流的Springboot框架进行开发&#xff0c;前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 …

ComfyUI新宠,精准位置生成模型GLIGEN,附下载

GLIGEN 是一种在文本到图像模型中指定对象精确位置的直观方法。自带GUI&#xff0c;操作非常便利&#xff0c;可以精确控制要在什么位置画什么内容&#xff0c;比纯文字描述的RPG-DiffusionMaster更精确。 ComfyUI是一个基于节点的图形用户界面&#xff08;GUI&#xff09;工具…

【AI场景应用】智能电话机器人

从前有一个小型电商公司&#xff0c;每天都接收大量的客户咨询和订单确认电话。由于人手不足&#xff0c;公司的客服团队经常忙得不可开交。为了解决这个问题&#xff0c;他们引入了一位智能电话机器人&#xff0c;名叫小智。 小智是一位功能强大的机器人&#xff0c;他能够全…