C++(继承中)

news2024/9/21 10:47:29

目录:

          1.基类和派生类对象赋值转换

          2.派生类当中的6个默认成员函数

---------------------------------------------------------------------------------------------------------------------------

派生类对象可以赋值给 基类的对象/基类的指针/基类的引用(形象的说法叫切片或者切割)

之前来说同类型的对象可以赋值转换,不同类型的赋值转换要么是强制类型转换,要么就是隐式类型转换

但是子类转到父类的时候,没有发生隐式类型转换和强制类型转换(虽然这里是不同类型)

 我们可以简单看出来这里不是隐式类型转换

 我们这里算是一个特殊的支持,语法天然支持的

 

 

 基类对象可不能赋值给派生类对象(少了派生类中的一部分东西)

 2.派生类当中的6个默认成员函数

派生类(子类)默认生成的构造函数会做什么事情???

1.对于自己的成员,跟类和对象一样。(对于内置类型不处理,当年给了缺省值就用缺省值去处理,对于自定义类型会调用自定义类型的构造函数)

2.继承的父类成员,必须调用父类的构造函数初始化

 如果我们的父类没有默认构造函数呢 ,或者说我们不想让我们的Pter去初始化我们_name变量呢

 父类没有默认构造函数了   -------  那么子类只能自己自定义构造函数

 

 上面是我们的构造,那我们的子类的拷贝构造呢

编译器生成默认拷贝构造

1.自己成员,跟类和对象一样(内置类型完成值拷贝,对于自定义类型调用它的拷贝构造)

 2.继承的父类成员。必须调用父类拷贝构造初始化

如果我们想完成深拷贝,我们这时候得显示的写拷贝构造

 编译器默认生成的operator=

1.自己的成员,跟类和对象一样(内置类型完成值拷贝,对于自定义类型调用它的赋值)

 2.继承了父类的成员,必须调用父类的赋值

编译器生成的析构函数

同上

1.内置类型不处理,自定义类型调用它的析构函数

 2.继承的成员,调用父类的析构函数处理

 我们可以来观察一个现象

为什么父类是析构次数是子类析构次数的double   ---  原因是什么呢???

所以我们不需要显示调用父类析构函数

每一个子类析构函数后面会自动调用父类析构函数(这样才能保证先析构子类,再析构父类)

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

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

相关文章

“量子计算+个性化医疗”!富士通和BSC利用张量网络推进新研究

​ (图片来源:网络) 富士通和巴塞罗那超级计算中心(BSC)正在签署一项合作协议,通过利用临床数据促进个性化医疗,并使用张量网络推进量子模拟技术。 双方将于2023年5月开始联合研究,第一个合作项目旨在利用不…

CSGO搬砖,每天1-2小时,23年最强副业非它莫属(内附操作流程)

自从我学会了CSGO搬运,我发现生活也有了不小的改变,多了一份收入,生活质量也就提高了一份。 其实刚接触CSGO,我压根就不相信这么能挣钱,因为在印象中,游戏供玩家娱乐竞技的,作为我这种技术渣渣…

VUE3如何定义less全局变量

默认已经安装好了less,这里不过多讲。 (1)首先我们需要下载一个插件依赖: npm i style-resources-loader --save-dev (2)VUE3里配置vue.config.js文件内容 代码: const path require("p…

U盘安装Windows11和ubuntu20.04双系统

准备: 一台PC电脑(我的是两个固态硬盘) 一个U盘(最好不小于32G) 下载安装工具: 老白菜u盘启动盘制作工具_u盘启动_u盘装系统下载尽在老白菜官网 最新UltraISO官方免费下载 - UltraISO软碟通中文官方网…

数据结构与算法(九) 树

大家好,我是半虹,这篇文章来讲树 树是一种常见的数据结构,其定义为:由有限个节点组成的具有层次关系的集合 解决树问题的关键是递归,递归的关键是分解子问题 对于树来说,递归函数只要考虑对单个节点如何处…

波奇学Linux:Linux的认识和云服务器使用

在讲Linux前,我们先来理解计算机: 计算机:输入->算法->输出 举个栗子: pritnf :输出到屏幕(硬件)上 我们在计算机所有的行为都会转为硬件行为。 再进一步理解,我们打开visual studio后,敲…

BPF技术学习与整理

目录 eBPF是什么? eBPF是做什么的?可以解决什么问题? eBPF可以带来的解决方案是什么? eBPF的技术点 eBPF hookeBPF MapeBPF Helper FunctioneBPF有什么限制吗? 前言 21年因为项目需求而要开发一个工具,可以…

如何通过docker启动一个本地springboot的jar包

一、构建本地jar包 进入到项目目录下执行如下命令 mvn -e clean package -Dmaven.test.skiptrue或者直接在idea中打包 得到target文件夹 进入到target文件夹得到jar包 二、创建Dockerfile文件 新建Dockerfile文件,内容如下 FROM openjdk:8-jre MAINTAINER ja…

硬盘坏掉之后

文章目录 背景解决方案数据丢失软件安装 总结 背景 前一段时间,我的电脑突然就开不了机了,进入安全模式之后,发现硬盘无法读取,大概率是硬盘坏掉了。电脑是 MacBook,自己不太好换。于是跑到华强北,找了一家…

电脑无论是连接热点,还是公共网络,qq、微信都能用,就是不能上网,现分享解决办法如下。

这里写自定义目录标题 问题引入:解决办法1、打开电脑的控制面板2、点击 “网络和internet”3、点击 “internet 选项”4、点击 “连接”5、点击 “局域网设置”6、按照下面操作 问题引入: 在魔法使用网站之后,忘记关闭 clash 按钮就关闭电脑&…

Spring-学习修改尚硅谷最新教程笔记

二、Spring 1、Spring简介 1.1、Spring概述 官网地址:https://spring.io/ Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Jav…

数据湖Iceberg-SparkSQL集成(4)

文章目录 数据湖Iceberg-SparkSQL集成一、环境准备安装Spark 二、Spark配置Catalog2.1在配置文件中添加HiveCatalog与HadoopCatalog配置(一劳永逸)2.2使用spark-sql连接Hive Catalog2.3使用spark-sql连接Hadoop Catalog 三、SQL操作3.1 创建表创建分区表…

一个 24 通道 100Msps 逻辑分析仪

这是一个创建非常便宜的逻辑分析仪的项目,但其功能可与昂贵的商业分析仪相媲美。该分析仪可以以每秒 1 亿个样本的最高速度对多达 24 个通道进行采样,并且可以通过单个通道中的极性变化或多达 16 个通道形成的模式来触发。 该项目不仅包含硬件&#xff0…

去银行还是干嵌入式?

晚上要睡觉的时候,一个读者给我发消息 说是最近拿到了4个offer,现在犹豫不决 听说,最近嵌入式突然就火起来了。 不过,嵌入式很多人的薪资还是低了,而且,工作很多年后,嵌入式的工作,那…

蛋白冠™蛋白质组学技术实现快速深入精确地解析血浆蛋白质图谱

文章标题:Rapid, deep and precise profiling of the plasma proteome with multi-nanoparticle protein corona 发表期刊:Nature Communications 影响因子:17.694 作者单位:哈佛医学院;Seer,美国&#…

opencv (六十四)监督学习聚类(k近邻原理、支持向量机原理、k近邻(KNN)手写字识别、支持向量机数据分类)

文章目录 1 k近邻原理介绍2 支持向量机原理3 K近邻(KNN)手写字识别训练模型4 手写字识别5 支持向量机 进行数据分类6 源代码及数据文件下载1 k近邻原理介绍 k最近邻(k-Nearest Neighbor)算法是比较简单的机器学习算法。它采用测量不同特征值之间的距离方法进行分类。它的思想…

算法刷题知识点总结

因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。 二分法:采用两个指针,注意他们的区间划分; 双指针法,用于查找排序:双指针将一个两层循…

BUUCTF warmup_csaw_2016

小白垃圾做题笔记而已,不建议阅读。 唉,本来以为是让写shellcode的打了半天没打通,后来发现疏忽了sub_40060D函数。 前两行(6,7)没啥就是把那个字符串写到屏幕上。 然后是第八行, sprintf(): 这个函数用于将格式化的字符串写入…

Linux安装MongoDB数据库,实现外网远程连接访问

文章目录 1. 配置Mongodb源2. 安装MongoDB3. 局域网连接测试4. 安装cpolar内网穿透5. 配置公网访问地址6. 公网远程连接7. 固定连接公网地址8. 使用固定地址连接 简单几步实现Linux安装mongoDB数据库并且结合cpolar内网穿透实现在公网环境下的远程连接。 1. 配置Mongodb源 进…

聊聊开源类ChatGPT工作——MOSS

自从ChatGPT发布以来,它的“三步走方案”就好比《九阴真经》流落到AI江湖中,各大门派练法不一,有人像郭靖一样正着练,循序渐进;有人像欧阳锋一样反着练,守正出奇;也有像梅超风一样仅练就半部《九…