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

斗破C++编程入门系列之三十九:多态性:纯虚函数和抽象类(四星斗师)

斗破C++目录:

斗破C++编程入门系列之前言(斗之气三段)
斗破C++编程入门系列之二:Qt的使用介绍(斗之气三段)
斗破C++编程入门系列之三:数据结构(斗之气三段)
斗破C++编程入门系列之四:运算符和表达式(斗之气五段)
斗破C++编程入门系列之五:算法的基本控制结构之选择结构(斗之气八段)
斗破C++编程入门系列之六:算法的基本控制结构之循环结构(斗之气八段)
斗破C++编程入门系列之七:自定义数据类型(斗之气八段)
斗破C++编程入门系列之八:函数的定义与调用(斗之气八段)
斗破C++编程入门系列之九:函数重载与模板函数(斗之气九段)
斗破C++编程入门系列之十:类与对象:类的声明、成员的访问控制和对象(二星斗者)
斗破C++编程入门系列之十一:类与对象:构造函数和析构函数(四星斗者)
斗破C++编程入门系列之十二:类与对象:类的组合(五星斗者)
斗破C++编程入门系列之十三:类与对象:类模板(六星斗者)
斗破C++编程入门系列之十四:C++程序设计必知:作用域和可见性(六星斗者)
斗破C++编程入门系列之十五:C++程序设计必知:变量生存期(六星斗者)
斗破C++编程入门系列之十六:C++程序设计必知:类的静态成员(九星斗者)彩蛋)
斗破C++编程入门系列之十七:C++程序设计必知:友元(九星斗者)彩蛋)
斗破C++编程入门系列之十八:C++程序设计必知:常引用、常对象(九星斗者)彩蛋)
斗破C++编程入门系列之十九:C++程序设计必知:多文件结构和编译预处理命令(九星斗者)
斗破C++编程入门系列之二十:数组、指针和字符串:数组的声明和使用(一星斗师)
斗破C++编程入门系列之二十一:数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数(一星斗师)
斗破C++编程入门系列之二十二:数组、指针和字符串:指针变量的声明、地址相关运算–“*”和“&”(一星斗师)
斗破C++编程入门系列之二十三:数组、指针和字符串:指针的赋值和指针运算(一星斗师)
斗破C++编程入门系列之二十四:数组、指针和字符串:指向数组元素的指针和指针数组(一星斗师)
斗破C++编程入门系列之二十五:数组、指针和字符串:指针用作函数参数、指针型函数和函数指针(一星斗师)
斗破C++编程入门系列之二十六:数组、指针和字符串:动态内存分配和释放(一星斗师)
斗破C++编程入门系列之二十七:数组、指针和字符串:string类(一星斗师)
斗破C++编程入门系列之二十八:继承与派生:概念介绍与派生类的声明(一星斗师)
斗破C++编程入门系列之二十九:继承与派生:派生类从基类继承的过程(一星斗师)
斗破C++编程入门系列之三十:继承与派生:派生类对基类成员的访问控制之公有继承(一星斗师)
斗破C++编程入门系列之三十一:继承与派生:派生类对基类成员的访问控制之保护继承与私有继承(一星斗师)
斗破C++编程入门系列之三十二:继承与派生:派生类的构造函数(一星斗师)
斗破C++编程入门系列之三十三:继承与派生:派生类的析构函数(一星斗师)
斗破C++编程入门系列之三十四:继承与派生:作用域分辨符(四星斗师)
斗破C++编程入门系列之三十五:继承与派生:虚基类及其派生类的构造函数(四星斗师)
斗破C++编程入门系列之三十六:继承与派生:赋值兼容规则(四星斗师)
斗破C++编程入门系列之三十七:多态性:运算符重载的概念和规则(四星斗师)
斗破C++编程入门系列之三十八:多态性:虚函数(四星斗师)
斗破C++编程入门系列之三十九:多态性:纯虚函数和抽象类(四星斗师)

鸡啄米C++

记住首页不迷路:
http://www.jizhuomi.com/software/129.html

斗破观看顺序:

https://v.haohuitao.cc/yhplay/336-1-2.html
第一季☞第二季前2集☞特别篇1☞第二季3~12集☞特别篇2沙之澜歌☞第三季☞第四季☞三年之约☞缘起☞年番
斗气大陆等级:
斗气有十一个阶别,斗之气,斗者,斗师,大斗师,斗灵,斗王,斗皇,斗宗,斗尊,斗圣,斗帝。
斗气大陆上很久没有出现过斗帝了。

一、萧炎苏醒

为了阻止变异的墨承,萧炎借助了药老的力量,创造出佛怒火莲将其彻底击溃,但耗尽灵魂力量的药老,却为了保护萧炎而陷入沉睡,深受重伤在生死边缘挣扎的萧炎能够醒来,又能否如约踏上云岚宗?履行与纳兰嫣然的三年之约。
萧炎因为失去了药老,而愧疚不已,在心境中,一只魔鬼幻化成药老的模样,让萧炎再次尝到因为自己失去了老师的悲痛。在一阵惊恐之中,萧炎苏醒了过来。本来心灰意冷的萧炎,听到海老说可以在加玛帝国的米特尔拍卖场买到恢复灵魂力量的药材,萧炎便再次振作起来。
为了能够尽快恢复斗气,萧炎冒险尝试吞噬地火莲子,却不巧将多余的力量传入给七彩吞天蟒,而七彩吞天蟒在吞噬了多余的力量后,却幻化出了美杜莎女王的人身。命运就这样将二人深深的捆绑在一起,未来能否顺意,故事还在继续。

二、C++:多态性:纯虚函数和抽象类(四星斗师)

父类的虚函数不实现则被定义为纯虚函数,而父类本身也被称为抽象类。
子类继承了父类后,需要实现父类的虚函数。否则也不能进行初始化对象。
而定义纯虚函数的方式也很简单,就是使用 “= 0”;我们来看代码:

#ifndef CREATURE_H
#define CREATURE_H#include <QDebug>class Creature
{
public:Creature(QString place);public:virtual void grow_up() = 0;
//    {
//        qDebug() << "creature grow up";
//    }public:QString born_place;};#endif // CREATURE_H

所有继承Creature的类都需要实现grow_up函数,否则则不可实例化出对象。
我们测试发现,当Queen注释掉了grow_up函数,编译器给出了警告不能实例化抽象类,因为Queen继承了Creature,但是没有实现虚函数,所以Queen仍然是一个抽象类。
抽象类作为接口,只能定义指针(或引用)。好了大家可以试试。

三:英语

先看几个单词:

  • 纯虚函数 pure virtual function
  • 抽象类 abstract class

再来看几个句子:

  • Fate (命运)deeply(深深地) bound(绑定) the two of them(两人) together(在一起).
  • 命运将二人深深的捆绑在一起

together 这里是副词,意思是“在一起”。

相关文章:

斗破C++编程入门系列之三十九:多态性:纯虚函数和抽象类(四星斗师)

斗破C目录&#xff1a; 斗破C编程入门系列之前言&#xff08;斗之气三段&#xff09; 斗破C编程入门系列之二&#xff1a;Qt的使用介绍&#xff08;斗之气三段&#xff09; 斗破C编程入门系列之三&#xff1a;数据结构&#xff08;斗之气三段&#xff09; 斗破C编程入门系列之…...

目前美国的互联网环境

随着科技的迅猛发展&#xff0c;互联网已经成为了现代社会不可或缺的一部分。作为全球科技创新的领导者之一&#xff0c;美国在互联网领域拥有着丰富的资源和先进的技术。本文将对美国目前的互联网环境进行探讨&#xff0c;包括网络基础设施、网络安全、数字经济以及互联网对社…...

从最小作用量原理推导牛顿三大定律

从最小作用量原理推导牛顿三大定律 引言 在物理学中&#xff0c;牛顿三大定律是描述经典力学中物体运动的基本定律。然而&#xff0c;这些定律并不是孤立存在的&#xff0c;它们可以从一个更为普遍的原理——最小作用量原理中推导出来。最小作用量原理是一个深刻而优雅的理论…...

【系统集成项目管理工程师教程】第4章 信息系统架构

教程内容总结&#xff0c;供参考&#xff0c;有错误请指正&#xff0c;友好交流。 4.架构基础 4.1.1指导思想 4.1.2设计原则 原则内容&#xff1a;包括坚持以人为本、创新引领、问题导向、整体协同、安全可控、科学实施等&#xff0c;这些原则应基于组织的信念和价值观&…...

docker下迁移elasticsearch的问题与解决方案

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 docker下迁移elasticsearch的问题与解决方案 数据挂载报错解决权限问题节点故障 直接上图&#x…...

占地1.1万平,2亿投资的智能仓储系统:高架库、AGV、码垛机器人……

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 我国调味料市场近年来展现出惊人的增长潜力&#xff0c;各大品牌纷纷加大投入&#xff0c;力求在竞争中脱颖而出。 广东美味鲜调味食品有限公司&#xff0c;作为行业内的佼佼者&#…...

一个小程序如何对接多个收款账户?

背景 我又来了&#xff0c;之前对接过网约巴士系统 网约巴士旅游专线平台搭建历程&#xff0c;运营了两年多了。在运营中完善、在完善中学习&#xff0c;一直是不变的真理。有一句话说得好&#xff1a;先做一个垃圾、用起来再说。 今天又需要升级了&#xff0c;需求是&#…...

L2G4000 InternVL 部署微调实践闯关任务

一、理解多模态大模型的常见设计模式&#xff0c;可以大概讲出多模态大模型的工作原理。 视频地址 开源的多模态大模型&#xff1a;InternVL&#xff0c;Qwen-VL&#xff0c;LLaVA 闭源的&#xff1a;GPT-4o 研究重点&#xff1a;不同模态特征空间的对齐 BLIP2 将图像特征对…...

asynDriver-6-端口驱动

本地串口 drvAsynSerialPort驱动支持设备连接到IOC上串口。 用drvAsynSerialPortConfigure和asynSetOption命令配置串口&#xff1a; drvAsynSerialPortConfigure("portName","ttyName",priority,noAutoConnect,noProcessEosIn) asynSetOption("po…...

[免费]基于Python的Django+Vue3在线考试系统【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的基于Python的DjangoVue3在线考试系统&#xff0c;分享下哈。 项目视频演示 【免费】基于Python的DjangoVue3在线考试系统 Python毕业设计_哔哩哔哩_bilibili 项目介绍 本论文提出并实现了一种基于Python…...

Python使用爬虫

一、基本介绍 爬虫&#xff08;Web Scraping&#xff09;是一种自动化获取网页内容的技术&#xff0c;它通过编写程序模拟浏览器的行为&#xff0c;从互联网上抓取网页数据。爬虫可以用于多种目的&#xff0c;比如数据收集、信息整合、自动化测试等。 二、常用的库 1、Request…...

CommunityToolkit.Mvvm如何使用

CommunityToolkit.Mvvm 是一个现代、快速和模块化的 MVVM 库&#xff0c;用于 .NET 应用程序。以下是如何使用 CommunityToolkit.Mvvm 的基本步骤&#xff1a; 安装包&#xff1a; 你可以通过 NuGet 包管理器安装 CommunityToolkit.Mvvm。在 Visual Studio 中&#xff0c;你可以…...

Python小游戏20——超级玛丽

首先&#xff0c;你需要确保你的Python环境中安装了pygame库。如果还没有安装&#xff0c;可以使用以下命令进行安装&#xff1a; bash pip install pygame 运行效果展示 代码展示 python import pygame import sys # 初始化pygame pygame.init() # 设置屏幕尺寸 screen_width …...

配置文件格式(xml、properties、yml/yaml)

配置文件格式&#xff08;xml、properties、yml/yaml&#xff09; 配置文件格式一、XML二、properties三、yml/yaml基本语法yml数据格式1、对象/Map集合1、数组/List/Set集合 配置文件格式 什么是配置文件&#xff1f;&#xff1a; 配置文件是包含应用程序或系统配置信息的文件…...

CentOS 7 软件/程序安装示例

安装软件/程序 wget&#xff0c;前提需要用 root 用户 1、搜索软件/程序 yum search wget 搜索到软件/程序。 2、安装软件/程序 yum -y install wget 安装完成。...

Python绘制正弦函数图形

1&#xff0c;绘制正弦函数图形&#xff0c;让数学看得见&#xff0c; import math # 导入函数模块 import turtle # 导入turtle模块&#xff0c;用于绘图t turtle.Turtle() # 创建对象 turtle.bgcolor("#2dded9") # 设置背景颜色 t.pencolor(blue) # 设置画笔…...

【LVGL-列表部件 lv_list_create】

LVGL-列表部件 lv_list_create ■ LVGL-列表部件-函数■ 修改样式-■ 修改样式- 背景色■ 修改样式- 改变项的颜色-label■ 修改样式- 改变项的颜色-btn ■ 事件(Event)■ 示例0&#xff1a;综合■ 示例1&#xff08;自动出现滚动&#xff09;■ 示例2&#xff08;滚动捕捉&…...

【P2-6】ESP8266 WIFI模块在STA模式下实现UDP与电脑/手机网络助手通信——UDP数据透传

前言:完成ESP8266 WIFI模块在STA模式下实现UDP与电脑/手机网络助手通信——实现UDP数据透传 STA模式,通俗来说就是模块/单片机去连接路由器/热点来通信。 UDP协议,是传输层协议,UDP没有服务器和客户端的说法。 本实验需要注意,wifi模块/单片机与电脑/手机需要连接在同一个…...

从零学习大模型(十)-----剪枝基本概念

剪枝的基本概念 模型压缩中的地位&#xff1a;剪枝是模型压缩中的重要技术之一&#xff0c;它通过减少模型的参数量来降低计算资源的需求。对于大型神经网络&#xff0c;尤其是像BERT、GPT等参数量级巨大的模型&#xff0c;剪枝可以有效地减少模型的内存占用和计算量&#xff…...

Jest进阶知识:模拟 ES6 类 - 掌握类的依赖模拟与方法监听技巧

引言 在现代前端开发中&#xff0c;ES6 类&#xff08;class&#xff09;是常用的一种面向对象编程方式。在测试类的时候&#xff0c;我们经常需要模拟类的依赖&#xff0c;以避免外部因素对测试结果的影响。Jest 提供了强大的工具来模拟类及其方法&#xff0c;确保测试的高效…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...