C++作業6

以下是一個簡單的比喻,將多態概念與生活中的實際情況相聯系:

比喻:動物園的講解員和動物表演

想象一下你去了一家動物園,看到了許多不同種類的動物,如獅子、大象、猴子等。現在,動物園里有一位講解員,他會為每種動物表演做簡單的介紹。

在這個場景中,我們可以將動物比作是不同的類,而每種動物表演則是類中的函數。而講解員則是一個基類,他可以根據每種動物的特點和表演,進行相應的介紹。

具體過程如下:

定義一個基類?Animal,其中有一個虛函數perform(),用于在子類中實現不同的表演行為。

代碼:

#include <iostream>using namespace std;class Animal
{
public:virtual void perform() = 0;virtual ~Animal(){}
};class Type:public Animal
{
private:string name;string food;
public:Type(string name,string food):name(name),food(food){}void perform(){cout << "這個動物的名字是:" << name << endl;cout << "喜歡吃:" << food << endl;}
};int main()
{Animal *p;Type s1("monkey","banana");p = &s1;p->perform();Type s2("tiger","meat");s2.perform();delete p;p = nullptr;return 0;
}

運行結果:

思維導圖:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208211.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208211.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208211.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用23種設計模式打造一個cocos creator的游戲框架----(五)工廠方法模式

1、模式標準 模式名稱&#xff1a;工廠方法模式 模式分類&#xff1a;創建型 模式意圖&#xff1a;定義一個用于創建對象的接口&#xff0c;讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。 結構圖&#xff1a; 適用于&#xff1a; 1、當一個類不知道它…

failed to install plugin grafana 插件安裝失敗

升級時忽略plugins 權限問題&#xff0c;導致安裝插件失敗&#xff01;調整權限即可

042:el-table表格表頭自定義高度(親測好用)

第042個 查看專欄目錄: VUE ------ element UI 專欄目標 在vue和element UI聯合技術棧的操控下&#xff0c;本專欄提供行之有效的源代碼示例和信息點介紹&#xff0c;做到靈活運用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安裝、引用&#xff0c;模板使…

Shrio 安全框架

目錄 前言 1.介紹 2.整合 Shiro 到 Spring Boot 3.Shiro 相關配置 總結 前言 幾乎所有涉及用戶的系統都需要進行權限管理&#xff0c;權限管理涉及到一個系統的安全。Spring Boot 的安全框架整合方案中還有一個璀璨的明珠&#xff1a;Shrio。 1.介紹 Shiro是一款由Java 編…

信道復用技術

目錄 一、頻分復用FDM&#xff08;Frequency Division Multiplexing&#xff09; 二、波分復用 WDM&#xff08;Wavelength Division Multiplexing&#xff09; 三、時分復用TDM&#xff08;Time Division Multiplexing&#xff09; 四、統計時分復用 STDM&#xff08;Statisti…

雙通道5V高細分步進電機驅動芯片應用于搖頭機,X,Y控制,聚焦控制,CAMERA云臺控制等產品上的芯片選型分析

雙通道5V高細分步進電機驅動芯片GC6106&#xff0c;GC6107&#xff0c;GC6119&#xff0c;GC6151&#xff0c;GC6236&#xff0c;GC6225&#xff0c;GC6129&#xff0c;電壓范圍3~5.5V&#xff0c;最大持續電流可達0.6A左右。可應用于搖頭機&#xff0c;X,Y控制&#xff0c;聚焦…

安裝vue環境

1.Hello Vue.js <script src"https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script>/*引入js文件 */ <script> new Vue({ /* 創建一個對象&#xff0c;兩個屬性。 */ el: #app, data: { message: Hello Vue.js! }, methods: { details: f…

C++使用模板的注意事項

兩點注意事項 自動推導類型&#xff0c;必須推導出一致的數據類型T&#xff0c;才可以使用模板必須要確定出T的數據類型&#xff0c;才可以使用 #include<iostream> using namespace std;//第一點必須一致的數據類型 template <class T> void myswap(T& a, T…

基于AIS數據的船舶密度計算與規律研究

參考文獻&#xff1a;[1]陳曉. 基于AIS數據的船舶密度計算與規律研究[D].大連海事大學,2021.DOI:10.26989/d.cnki.gdlhu.2020.001129. 謝謝姐姐的文章&#xff01; 網格化AIS數據 網格化 AIS 數據是處理和分析船舶軌跡數據的一種有效方法&#xff0c;特別是當涉及到密度計算和…

C++_對C數據類型的擴展

結構體 c中定義結構體變量&#xff0c;可以省略struct關鍵字 c結構提重可以直接定義函數&#xff0c;謂之成員函數&#xff08;方法&#xff09; #include <iostream> using namespace std; struct stu {int num;char name[24];void price(void) {cout << "…

Vue3+Antd實現彈框顯示內容并加入復制按鈕

使用Vue3antd實現點擊彈框出現內容并可復制內容的功能&#xff1a; HTML部分&#xff1a; <a-button type"primary" click"showModel">打開彈框 </a-button><!-- ok 是彈框中確定按鈕的操作&#xff0c;cancel 是彈框中取消按鈕的操作 --…

Redis數據已經刪除了,為什么內存占用還是很高?

Redis數據已經刪除了&#xff0c;為什么內存占用還是很高&#xff1f; Redis做了數據刪除操作&#xff0c;為什么使用top命令時&#xff0c;還是顯示Redis占了很多內存&#xff1f; 沒做相關功課的人覺得這個問題有問題&#xff0c;刪了數據還說占著內存&#xff0c;面試官不…

【學一點兒前端】真機調試本地公眾號網頁項目

前言 微信公眾號網頁開發的真機調試一直是很頭疼的事情。 原因一 微信公眾號配置的JS安全域名只有三個&#xff0c;一個大中型的公眾號這三個JS安全域名都是生產的域名&#xff0c;不可能預留域名用于開發和調試。 原因二 在微信里面只有訪問正確的安全域名才能調用wx.config用…

vuepress-----18、圖片縮放

圖片引入兩種方式 地址 # 圖片縮放插件 # 實戰 md文件引入圖片 <img class"zoom-custom-imgs" :src"$withBase(/favicon.ico)" alt"favicon">安裝配置插件 vuepress/medium-zoom: {selector: img.zoom-custom-imgs,},效果展示

AI:89-基于卷積神經網絡的遙感圖像地物分類

?? 本文選自專欄:人工智能領域200例教程專欄 從基礎到實踐,深入學習。無論你是初學者還是經驗豐富的老手,對于本專欄案例和項目實踐都有參考學習意義。 ??? 每一個案例都附帶有在本地跑過的核心代碼,詳細講解供大家學習,希望可以幫到大家。歡迎訂閱支持,正在不斷更新…

MVCC是什么

程序員的公眾號&#xff1a;源1024&#xff0c;獲取更多資料&#xff0c;無加密無套路&#xff01; 最近整理了一波電子書籍資料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虛擬機》&#xff0c;《重構改善既有代碼設計》&#xff0c;《MySQL高性能-第3版》&…

ChibiOS簡介1/5

ChibiOS簡介1/5 1. 源由2. ChibiOS基礎知識1/52.1 Chapter 1 - Introduction2.1.1 Priciple&#xff08;設計原則&#xff09;2.1.2 Fundamental requirements&#xff08;基本需求&#xff09; 2.2 Chapter 2 - Real Time Systems Concepts2.2.1 System&#xff08;系統&#…

flutter TextPainter 的用法

本文章基于 Flutter 3.16.2 Dart SDK 3.2.2。 TextPainter 是 Flutter 中用于在 Canvas 上繪制文本的類。它允許您在自定義的 CustomPainter 中使用 drawText 方法來繪制文本&#xff0c;并可以控制文本的位置、顏色、字體等屬性。 import package:flutter/material.dart;cla…

【NEON】學習資料匯總

一、資料鏈接 Guide &#xff1a; http://www.heenes.de/ro/material/arm/DEN0018A_neon_programmers_guide_en.pdf csdn博文1&#xff0c;基礎案例&#xff1a; https://blog.csdn.net/kakasxin/article/details/103912832? csdn博文2&#xff0c;內部函數&#xff1a; ht…

css 輸入框動態特效

先上圖 代碼 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css 輸入框動效</title><style>.inputBox {position: relative;width: 250px;}.inputBox input {width: 100%;padding: 10px…