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

C++(继承)

继承的语法

继承的好处:减少重复代码

语法:

class 子类 : 继承方法 父类

子类 也称为 派生类

父类 也成为 基类

继承方式 

公共继承

保护继承

私有继承

 

 

结论:父类中私有成员也是被子类继承下去了,只是由编译器给隐藏后访问不到 

 继承中构造和析构顺序

 

总结:继承中先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反

继承同名成员处理方式 

总结:
1.子类对象可以直接访问到子类中同名成员
2.子类对象加作用域可以访问到父类同名成员
3.当子类与父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函数 

继承同名静态成员处理方式 

 

 总结:同名静态成员处理方式和非静态处理方式一样,只不过有两种访问的方式(通过对象和通过类名)

 多继承语法

总结:多继承中如果父类中出现了同名情况,子类使用时候要加作用域 

菱形继承

 

引发问题:资源浪费

解决办法:引入虚继承

相关文章:

C++(继承)

继承的语法 继承的好处:减少重复代码 语法: class 子类 : 继承方法 父类 子类 也称为 派生类 父类 也成为 基类 继承方式 公共继承 保护继承 私有继承 结论:父类中私有成员也是被子类继承下去了,只是由编译器给隐藏后…...

华为OD机试 - RSA加密算法(Java 2024 E卷 100分)

long n (long) Math.sqrt(num); 与long n (long) Math.floor(Math.sqrt(num)); 这两行代码的目的都是计算 num 的平方根,并将结果转换为 long 类型的整数。然而,它们在处理方式上有一些微小的差别。 long n (long) Math.sqrt(num);long n (long) M…...

分组校验在Spring中的应用详解

目录 前言1. 什么是分组校验2. 分组校验的基本原理3. 分组校验的实现步骤3.1 定义分组接口3.2 在校验项中指定分组3.3 校验时指定要校验的分组3.4 默认分组和分组的继承 4. 分组校验的优势和适用场景4.1 优势4.2 适用场景 5. 常见问题与解决方案5.1 校验未生效5.2 无法识别默认…...

torch.nn.**和torch.nn.functional.**的区别

torch.nn.** torch.nn.**是一个继承了torch.nn.Module的类,使用前必须先构造对象,然后再调用。如果直接使用则会报错 例如 a torch.randn(3,4) print(a) sigmoid torch.nn.Sigmoid() a sigmoid(a) print(a) a torch.nn.Sigmoid(a)tensor([[ 0.2462…...

Air780E基于LuatOS编程开发

Air780E基于LuatOS编程开发 Air780E开发板下载固件版本开发板刷机开发调试源码编译下载源码编译工具编译工具链 Air780E开发板 合宙通信推出的 LTE Cat.1 bis通信模块,采用移芯EC618平台,支持4G全网通, 包括的模组有: Air780E – 4G Cat.1Air780EG – …...

贪心算法-汽车加油

这道题目描述了一个汽车旅行场景,需要设计一个有效的算法来决定在哪几个加油站停车加油,以便最小化加油次数。题目给出了汽车加满油后的行驶距离n公里,以及沿途若干个加油站的位置。我们需要找出一个方案,使得汽车能够完成整个旅程…...

Qt信号和槽-->day04

Qt信号和槽 标准的信号和槽函数Qt中的槽函数Qt中的信号 connect案例 自定义信号和槽案例分析 信号槽的拓展信号连接信号案例 信号槽的两种连接方式Qt5中的处理方式Qt4中的处理方式Qt5处理信号槽重载问题案例 lambda表达式简单案例Qt中的应用 补充知识点 标准的信号和槽函数 QW…...

【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒

【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒 可以自定义快捷键执行终端命令,执行完毕会有弹窗提醒。下面给一个例子,设置快捷键切换网络代理(Netwo…...

十六:Spring Boot依赖 (1)-- spring-boot-starter 依赖详解

1. 简介: spring-boot-starter 是 Spring Boot 项目中的基础启动器依赖,它为开发者提供了 Spring Boot 应用所需的核心功能和自动配置 spring-boot-starter 不是一个具体的功能模块,而是一个基础的启动器。 Spring Boot 提供了一系列的 sta…...

讲讲关于SNMP与智能PDU插座

什么是SNMP 简单网络管理协议 (SNMP) 是一种应用层协议,主要用于网络管理中的设备监控和控制。通过 SNMP,网络管理员可以从管理站远程访问网络中的设备,获取设备的状态信息、配置参数,甚至控制设备的行为。SNMP 被广泛应用于 TCP/…...

在CentOS下安装RabbitMQ

在CentOS下安装RabbitMQ 在CentOS下安装RabbitMQ可以按照以下步骤进行:步骤 1: 更新系统步骤 2: 安装Erlang步骤 3: 添加RabbitMQ仓库步骤 4: 安装RabbitMQ步骤 5: 启动RabbitMQ服务步骤 6: 检查RabbitMQ状态步骤 7: 启用RabbitMQ管理插件(可选&#xff…...

前端使用Canvas实现网页电子签名(兼容移动端和PC端)

实现效果: 要使用Canvas实现移动端网页电子签名,可以按照以下步骤: 在HTML文件中创建一个Canvas元素,并设置其宽度和高度,以适配移动设备的屏幕大小。 // 创建一个canvas元素 let canvas document.createElement(&q…...

什么是OSTRPT报文?

OSTRPT(Order Status Report)是一种 EDI(电子数据交换)报文,用于在供应链管理中向采购商报告订单状态。这种报文通常由供应商发送给采购商,目的是告知订单的当前处理状态、预期交货时间、订单中的变化等信息…...

PICO+Unity MR空间锚点

官方链接:空间锚点 | PICO 开发者平台 注意:该功能只能打包成APK在PICO 4 Ultra上真机运行,无法通过串流或PICO developer center在PC上运行。使用之前要开启视频透视。 在 Inspector 窗口中的 PXR_Manager (Script) 面板上,勾选…...

electron 中 contextBridge 作用

1. 安全地实现渲染进程和主进程之间的通信 在 Electron 应用中,主进程和渲染进程是相互隔离的,这是为了安全和稳定性考虑。 然而,在很多情况下,渲染进程需要访问主进程中的某些功能,例如系统级别的操作或者一些应用级…...

15分钟学 Go 第 42 天:RESTful API设计

第42天:RESTful API设计 目标:理解RESTful API的设计原则 在现代Web开发中,RESTful API(Representational State Transfer)已经成为了标准的架构风格,用于实现客户端与服务器之间的通信。通过遵循REST的设…...

如何安全的中断一个运行中的线程?

文心快码进入3.0时代, 最新发布的代码问答、编码、Debug、单测、安全智能体, 分别在开发的设计、编码、构建、测试验证全流程通过AI赋能,让效率更高、效果更好。可以通过自然语言对话,独立为你完成一项编码任务。 👉点…...

【121. 买卖股票的最佳时机】——贪心算法/动态规划

121. 买卖股票的最佳时机 一、题目难度 简单 三、题目描述 给定一个数组 prices,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获…...

LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略

LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略 导读:在基于大语言模型(LLM)技术实现数字计算能力的背景下,文本内容的理解和计算过程涉及多个领域的交叉技术,包括自然语言处理(NLP)、机器学习、以及数值计算。…...

LeetCode题练习与总结:判断子序列--392

一、题目描述 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一…...

论文已经降过AI但效果不好,换哪个工具好?二次处理经验分享

论文已经降过AI但效果不好,换哪个工具好?二次处理经验分享 这篇文章写给一个特定群体:之前已经用过降AI工具或者手动改过,但AI率还是不达标的同学。 这个情况比"第一次降AI"要棘手得多。因为你面对的不是一篇原始的AI生…...

Robot Framwork自动化测试框架详解

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、Robot Framwork简述 Robot Framework是一款python编写的功能自动化测试框架,支持python2和python3两个版本,是一款开源自动化测试框架…...

Xcode16升级后遇到Invalid Executable?三步搞定Bitcode报错(附完整代码)

Xcode16升级后遇到Invalid Executable?三步搞定Bitcode报错(附完整代码) 最近苹果官方宣布,从2025年4月24日开始,所有提交到App Store Connect的应用都必须使用Xcode16及以上版本构建。这一政策变动让不少iOS开发者不得…...

嵌入式硬件项目技术文档的规范性要求与内容标准

这不是一个嵌入式硬件项目技术文档,而是一篇面向职场技术人员的职业发展随笔,内容不包含任何硬件设计、电路原理、芯片选型、BOM清单、固件实现或工程可复现的技术要素。根据角色定位与核心任务要求,该输入不符合“嵌入式硬件项目技术文章创作…...

aaaaa

1.有序调整StepLR(等间隔调整学习率) torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma0.1) 参数: optimizer: 神经网络训练中使用的优化器,如optimizertorch.optim.Adam(…) step_size(int): 学习率下降间隔数,单位是epoch…...

DVWA文件包含漏洞实战:从Low到Impossible的四种防御策略解析

DVWA文件包含漏洞实战:从Low到Impossible的四种防御策略解析 在网络安全领域,文件包含漏洞(File Inclusion Vulnerability)一直是Web应用中最常见的高危漏洞之一。DVWA(Damn Vulnerable Web Application)作…...

PushedSSD1306:跨平台零成本OLED显示驱动库

1. PushedSSD1306库概述PushedSSD1306是一个面向嵌入式平台的C SSD1306 OLED显示驱动库,专为12864和12832单色OLED显示屏设计。其核心定位是硬件抽象层无关性与字体资源灵活性,区别于多数Arduino生态中强耦合Wire.h、硬编码PROGMEM字体、或仅支持固定字库…...

FastAdmin实战:系统配置分组自定义与参数高效调用指南

1. FastAdmin系统配置分组入门指南 第一次接触FastAdmin的系统配置功能时,我也被它强大的灵活性惊艳到了。这个功能就像是给系统装上了"万能遥控器",开发者可以自由添加各种配置项,随时调整系统行为。想象一下,你正在开…...

Swin2SR案例分享:手机老照片经AI修复后的惊艳变化

Swin2SR案例分享:手机老照片经AI修复后的惊艳变化 1. 引言:当AI遇见泛黄的老照片 翻看手机相册,总有一些照片让人又爱又恨。爱的是它记录下的珍贵瞬间,恨的是那模糊不清的画质、粗糙的颗粒和令人抓狂的马赛克。这些照片&#xf…...

嵌入式开发者的福音:metaRTC如何用C/C++简化WebRTC开发(附H265支持指南)

嵌入式开发者的福音:metaRTC如何用C/C简化WebRTC开发(附H265支持指南) 在智能硬件和工业物联网领域,实时视频通信正成为刚需。但传统WebRTC方案对嵌入式设备极不友好——谷歌官方实现动辄数GB的代码量、复杂的第三方依赖链&#x…...