继承-进阶

父子类成员共享

普通成员对象/父子间不共享, 成员独立

函数成员共享(函数不存储在对象中)

子类由两部分构成:父类中继承的成员和子类中新定义成员

继承方式

子类中存在父类private成员但不可直接访问(及时在类中),只能通过从父类继承的函数访问

子类不能访问父类私有成员,但可以通过父类成员函数直接使用,

派生类定义时,不写继承方式,派生类是struct默认public,是class则私有

实践中继承方式几乎都是公有继承

赋值兼容转换

指针只指向子类中的父类部分

引用只引用子类中父类部分

类似于截断

但不可以提升

普通截断实质就是类型转换

类型转换会产生临时变量

int i;

char& ch=i//权限放大

但赋值兼容转换不产生临时变量

与内置类型不一样

继承中的作用域

已知的域

父类子类同名成员

可以同时存在

子类会隐藏父类同名成员(也叫做重定义)

同一域不能有同名变量,但父类子类成员成员不在同一域

选b  隐藏=重定义

函数重载,前提在同一作用域

派生类的默认函数

派生类默认构造:

父类成员:调用父类构造

子类内置:初始化为0或不处理(取决编译器)

子类自定义类型:调用构造

默认拷贝构造:

父类成员:调用父类拷贝构造

子类内置:直接拷贝

子类自定义:调用拷贝

其他默认函数也同样,对父类成员的操作通过复用父类函数完成

自定义析构不显式调用父类析构

自定义析构不显式调用父类析构:子类析构结束后会自动调用父类析构,且不能显示调用析构(为了保证父子的析构顺序)

因为派生类与父类析构函数会构成隐藏关系(析构函数名称都会被处理成destructer,同名)

除析构外其他函数都要显式调用父对应函数

构造顺序:编译器固定先基类中的成员,后派生类新增成员,与成员初始化列表无关

所以构造时,可以子用父(的成员来初始化),不能父用子

派生类初始化列表不能显式初始化基类成员,只能通过父类构造

默认构造只能调派生类的无参构造

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Istio_1.17.8安装

项目背景 按照istio官网的命令一路安装下来,安装好的istio版本为目前的最新版本,1.22.0。而我的k8s集群的版本并不支持istio_1.22的版本,导致ingress-gate网关安装不上,再仔细查看istio的发布文档,如果用istio_1.22版本…

链表题目练习----重排链表

这道题会联系到前面写的一篇文章----快慢指针相关经典问题。 重排链表 指针法 这道题乍一看,好像有点难处理,但如果仔细观察就会发现,这道题是查找中间节点反转链表链表的合并问题,具体细节有些不同,这个在反装中间链…

Linux守护进程揭秘-无声无息运行在后台

在Linux系统中,有一些特殊的进程悄无声息地运行在后台,如同坚实的基石支撑着整个系统的运转。它们就是众所周知的守护进程(Daemon)。本文将为你揭开守护进程的神秘面纱,探讨它们的本质特征、创建过程,以及如何重定向它们的输入输出…

有待挖掘的金矿:大模型的幻觉之境

人工智能正在迅速变得无处不在,在科学和学术研究中,自回归的大型语言模型(LLM)走在了前列。自从LLM的概念被整合到自然语言处理(NLP)的讨论中以来,LLM中的幻觉现象一直被广泛视为一个显著的社会…

记录汇川:红绿灯与HMI-ST

项目要求: 子程序: 子程序: 实际动作如下: 红绿灯与HMI-ST

电赛报告书写

一、总体要求 (1)摘要:一页,小于300字 (2)正文:不超过8页 (3)附录:可以没有,但是不能超过2页 二、摘要书写 摘要要小于等于300字&#xff0c…

牛客java基础(一)

A 解析 : java源程序只允许一个public类存在 ,且与文件名同名 ; D hashCode方法本质就是一个哈希函数,这是Object类的作者说明的。Object类的作者在注释的最后一段的括号中写道:将对象的地址值映射为integer类型的哈希值。但hashCode()并不…

【Text2SQL 论文】C3:使用 ChatGPT 实现 zero-shot Text2SQL

论文:C3: Zero-shot Text-to-SQL with ChatGPT ⭐⭐⭐⭐ arXiv:2307.07306,浙大 Code:C3SQL | GitHub 一、论文速读 使用 ChatGPT 来解决 Text2SQL 任务时,few-shots ICL 的 setting 需要输入大量的 tokens,这有点昂贵…

【C语言】05.数组

一、数组的概念 本文来介绍数组,首先我们需要了解数组是什么? 数组是⼀组相同类型元素的集合。 • 数组中存放的是1个或者多个数据,但是数组元素个数不能为0。 • 数组中存放的多个数据,类型是相同的。 数组分为⼀维数组和多维数组…

自用的2个chatpgt plus拼车渠道!!!

两个渠道,银河和环球,各有优劣 由于平台限制,链接和优惠码,可看原文 原文:https://www.aiutools.fun/archives/4978 先说结论 gpt重度用户:一天50次以上,选 环球 gpt轻度用户:一天用…

有关大学的搜题软件?六个不限次的公众号和软件分享啦 #其他#职场发展

有些同学虽然喜欢刷题,但是如果参考答案遗失、找不到参考答案,导致做好的题目无法校对,就会比较烦恼了。不过不用担心,今天就给大家分享一些超好用的搜题工具 1.彩虹搜题 这是个老公众号了 它不仅可以查到大学题目,…

Unity3D入门基础知识汇总

1. unity界面 右上边可以切换布局。 左边选择Shaded wireframe,可以看到3D物体的都是由三角形组成的。 2. 物体显示 网格(三角形构成) 材质 3. 资源商店 Windows -> Asset Store 挑出喜欢的资源之后,点击”添加至我的…

Qwen-VL论文阅读

论文地址 其他同学的详细讲解 模型结构和参数大小 (1)LLM:Qwen-7B (2)Vision Encoder:ViT架构,初始化参数是 Openclip’s ViT-bigG。 在训练和推理过程中,输入的图像都被调整到…

git(其六)--总结

配置基础信息 //1.配置用户名和邮箱 git config --global user.name "带着引号写一个昵称" git config --global user.email "带着引号写一个邮箱"//2.建立一个git本地库 git init//3.查看本地内容 git status //可以看到那些处于待加入本地库的文件&a…

​​​​​​ 基于Nmap的异步无状态端口扫描技术

​​​​​​ 基于Nmap的异步无状态端口扫描技术 传统的端口扫描,主要是依靠TCP三次握手去连接,而建立连接的各个过程都存在连接状态,这些状态由操作系统在底层实现存储,可利用这些状态对应用层的数据进行处理。但是,…

【Flutter】 TextField限制长度时, 第三方手写输入法、ios原始拼音输入法输入被吞问题

问题描述 TextField限制长度时, 当你的输入字符长度已经到了最大值-1时,使用第三方手写输入法或者ios原生拼音输入法输入liang(什么拼音都行,这里只是举例),输到i那么li都会消失。 原因分析 这是因为第三…

[论文笔记]AIOS: LLM Agent Operating System

引言 这是一篇有意思的论文AIOS: LLM Agent Operating System,把LLM智能体(代理)看成是操作系统。 基于大语言模型(LLMs)的智能代理的集成和部署过程中存在着许多挑战,其中问题包括代理请求在LLM上的次优调度和资源分配,代理和LLM之间在交互…

苹果将推出“Apple Intelligence”AI系统,专注于隐私和广泛应用|TodayAI

据彭博社报道,苹果公司将在下周的 WWDC 2024 开发者大会上揭晓其全新的 AI 系统——“Apple Intelligence”,该系统将适用于 iPhone、iPad 和 Mac 设备。这一新系统将结合苹果自身技术和 OpenAI 的工具,为用户提供一系列新的 AI 功能,同时重点关注隐私保护和广泛应用。 与…

如何在virtualbox上安装Linux系统(centerOS)

提示:共同学习 注意:一定要在BIOS中的虚拟化打开。 文章目录 第一步: 第一步: 启动 、显示开启 centos基础安装 ​ ​

MongoDB CRUD操作:地理位置查询

MongoDB CRUD操作:地理位置查询 文章目录 MongoDB CRUD操作:地理位置查询地理空间数据GeoJSON对象传统坐标对通过数组指定(首选)通过嵌入文档指定 地理空间索引2dsphere2d 地理空间查询地理空间查询运算符地理空间聚合阶段 地理空…