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

C++多继承

       可以用多个基类来派生一个类。
在这里插入图片描述
格式为:

class 类名:类名1,…, 类名n
{
private: … ; //私有成员说明;
public: … ; //公有成员说明;
protected: … ; //保护的成员说明;
};

class D: public A, protected B, private C
{
…//派生类中新增加成员
};
示例:

#include <iostream>
using namespace std;class A
{
public:A(int a){cout << "调用基类A:构造函数.\n";x = a;}~A(){cout << "调用基类A:析构函数.\n";}private:int x;
};class B
{
public:B(int a){cout << "调用基类B:构造函数.\n";y = a;}~B(){cout << "调用基类B:析构函数.\n";}private:int y;
};class C :public A, public B
{
public:C(int a,int b):A(a),B(100){cout << "调用派生类C:构造函数.\n";z = a;}~C() {cout << "调用派生类C:析构函数.\n";}private:int z;
};int main()
{C obj(10, 50);return 0;
}

初始化基类成员

       构造函数不能被继承,派生类的构造函数必须调用基类的构造函数来初始化基类成员基类子对象。
派生类构造函数的调用顺序如下:

  • 基类的构造函数
  • 派生类的构造函数

示例:

#include <iostream>
using namespace std;class A
{
public:A(){cout << "调用基类A:默认构造函数.\n";}A(int a){cout << "调用基类A:构造函数.\n";x = a;}~A(){cout << "调用基类A:析构函数.\n";}private:int x;
};class B
{
public:B(int a){cout << "调用基类B:构造函数.\n";y = a;}~B(){cout << "调用基类B:析构函数.\n";}private:int y;
};class C :public A, public B
{
public:C(int a, int b) :A(a), B(100){cout << "调用派生类C:构造函数.\n";z = a;}~C(){cout << "调用派生类C:析构函数.\n";}private:int z;A obj1,obj2;
};int main()
{C obj(10, 20);return 0;
}

相关文章:

C++多继承

可以用多个基类来派生一个类。 格式为&#xff1a; class 类名:类名1,…, 类名n { private: … &#xff1b; //私有成员说明; public: … &#xff1b; //公有成员说明; protected: … &#xff1b; //保护的成员说明; }; class D: public A, protected B, private C { …//派…...

【深度学习新浪潮】DeepSeek近期的技术进展及未来动向

一、近期技术进展 模型迭代与性能提升 DeepSeek-V3-0324版本更新:2025年3月24日发布,作为V3的小版本升级,参数规模达6850亿,采用混合专家(MoE)架构,激活参数370亿。其代码能力接近Claude 3.7,数学推理能力显著提升,且在开源社区(如Hugging Face)上线。DeepSeek-R1模…...

工业4.0时代下的人工智能新发展

摘要&#xff1a;随着德国工业4.0时代以及中国制造2025的提出&#xff0c;工业智能化的改革的时代正逐渐到来&#xff0c;然而我国整体工业水平仍然处于工业2.0水平。围绕工业4.0中智能工厂、智能生产、智能物流这三大主题&#xff0c;结合国内外研究现状&#xff0c;对人工智能…...

监控易一体化运维:高性能与易扩展,赋能运维新高度

在当今数字化时代&#xff0c;云技术、大数据、智慧城市等前沿科技蓬勃发展&#xff0c;企业和城市对 IT 基础设施的依赖程度与日俱增。在这样的大环境下&#xff0c;运维系统的高性能与易扩展性对于保障业务稳定运行和推动发展的关键意义。今天&#xff0c;为大家深入剖析监控…...

机器学习stats_linregress

import numpy as np from scipy import stats# r stats.linregress(xs, ys) 是一个用于执行简单线性回归的函数&#xff0c;通常来自 scipy.stats 库。# 具体含义如下&#xff1a;# stats.linregress&#xff1a;执行线性回归分析&#xff0c;拟合一条最佳直线来描述两个变量 …...

Linux系统01---指令

目录 学习的方法 Linux 系统介绍 2.1 Unix 操作系统&#xff08;了解&#xff09; 2.2 Linux 操作系统&#xff08;了解&#xff09; 2.3 Linux 操作系统的主要特性&#xff08;重点&#xff09; 2.4 Linux 与 Unix 的区别与联系 2.5 GUN 与 GPL&#xff08;了解&#…...

【蓝桥杯14天冲刺课题单】Day 8

1.题目链接&#xff1a;19714 数字诗意 这道题是一道数学题。 先考虑奇数&#xff0c;已知奇数都可以表示为两个相邻的数字之和&#xff0c;2k1k(k1) &#xff0c;那么所有的奇数都不会被计入。 那么就需要考虑偶数什么情况需要被统计。根据打表&#xff0c;其实可以发现除了…...

23.6 CharGLM多模态API实战:24k上下文角色一致性优化全解析

CharGLM多模态API实战:24k上下文角色一致性优化全解析 关键词:多模态大模型, CharGLM API 调用, 角色一致性控制, 上下文感知, 对话系统优化 演示 CharGLM 的对话效果 CharGLM 作为支持 24k 上下文窗口的多模态对话模型,在角色扮演场景中展现出强大的交互能力。本节通过实…...

DeepSeek 开源的 3FS 如何?

DeepSeek 3FS&#xff08;Fire-Flyer File System&#xff09;是一款由深度求索&#xff08;DeepSeek&#xff09;于2025年2月28日开源的高性能并行文件系统&#xff0c;专为人工智能训练和推理任务设计。以下从多个维度详细解析其核心特性、技术架构、应用场景及行业影响&…...

基于 Three.js 实现 3D 数学欧拉角

大家好&#xff01;我是 [数擎AI]&#xff0c;一位热爱探索新技术的前端开发者&#xff0c;在这里分享前端和Web3D、AI技术的干货与实战经验。如果你对技术有热情&#xff0c;欢迎关注我的文章&#xff0c;我们一起成长、进步&#xff01; 开发领域&#xff1a;前端开发 | AI 应…...

AI Agent成为行业竞争新焦点:技术革新与商业重构的双重浪潮

近年来&#xff0c;AI Agent&#xff08;人工智能代理&#xff09;凭借其自主感知、决策与执行能力&#xff0c;迅速成为全球科技与商业领域的核心竞争赛道。无论是互联网巨头、初创企业&#xff0c;还是传统行业&#xff0c;均在加速布局这一领域&#xff0c;试图在智能化浪潮…...

大数据(4.5)Hive聚合函数深度解析:从基础统计到多维聚合的12个生产级技巧

目录 背景一、Hive聚合函数分类与语法1. 基础聚合函数2. 高级聚合函数 二、6大核心场景与案例场景1&#xff1a;基础统计&#xff08;SUM/COUNT&#xff09;场景2&#xff1a;多维聚合&#xff08;GROUPING SETS&#xff09;场景3&#xff1a;层次化聚合&#xff08;ROLLUP&…...

无线通信技术(四):一文读懂短距离无线通信技术

目录 一.技术介绍 1.1 Wi-Fi 1.2 蓝牙 1.3 ZigBee 1.4 IrDA 1.5 NFC 1.6 UWB 二.技术对比 三.未来趋势与挑战 3.1 技术融合 3.2 标准化难题 3.3 新兴应用 短距离无线通信技术是物联网、智能家居、移动支付等领域的核心支撑。这些技术通过不同频段、传输方式和场景…...

SqlServer整库迁移至Oracle

import pandas as pd from sqlalchemy import create_engine, text import cx_Oracle from sqlalchemy.exc import DatabaseError import traceback# SQL Server 配置 sql_server_conn_str mssqlpyodbc://用户名:密码数据库地址:端口/库名?driverODBCDriver11forSQLServer sq…...

通过 Docker Swarm 集群探究 Overlay 网络跨主机通信原理

什么是Overlay网络, 用于解决什么问题 ? Overlay网络通过在现有网络之上创建一个虚拟网络层, 解决不同主机的容器之间相互通信的问题 如果没有Overlay网络&#xff0c;实现跨主机的容器通信通常需要以下方法&#xff1a; 端口映射使用宿主机网络模式 这些方法牺牲了容器网络…...

HarmonyOS NEXT开发进阶(十四):HarmonyOS应用开发者基础认证试题集汇总及答案解析

文章目录 一、前言二、判断题&#xff08;134道&#xff09;三、单选题&#xff08;210道&#xff09;四、多选题&#xff08;123道&#xff09;五、拓展阅读 一、前言 鸿蒙原生技能学习阶段&#xff0c;通过官方认证的资格十分有必要&#xff0c;在项目实战前掌握基础开发理论…...

linux shell 删除空行(remove empty lines)

命令行 grep -v ^$ file sed /^$/d file 或 sed -n /./p file awk /./ {print} file 或 awk {if($0!" ") print} tr -s "n"vim交互 %s/^n//g...

MSVC编译遇到C2059、C2143、C2059、C2365、C2059等错误的解决方案

MSVC编译时&#xff0c;遇到如下错误&#xff1a; c:\program files (x86)\windows kits\10\include\10.0.18362.0\um\msxml.h(1842): error C2059: 语法错误:“常数” [D:\jenkins_home\workspace\xxx.vcxproj] c:\program files (x86)\windows kits\10\include\10.0.18362.0…...

AI重塑云基础设施,亚马逊云科技打造AI定制版IaaS“样板房”

AI正在彻底重塑云基础设施。 IDC最新《2025年IDC MarketScape&#xff1a;全球公有云基础设施即服务&#xff08;IaaS&#xff09;报告》显示&#xff0c;AI正在通过多种方式重塑云基础设施&#xff0c;公有云IaaS有望继续保持快速增长&#xff0c;预计2025年全球IaaS的整体规…...

Linux系统之systemctl管理服务及编译安装配置文件安装实现systemctl管理服务

目录 一.systemctl 管理服务 1.systemctl管理 2.设置服务卡机自启动或开机不启动 二.编译安装配置文件编写使得可以使用systemctl管理 1、编写配置文件原因 2、添加配置文件实现systemctl管理服务 一.systemctl 管理服务 1.systemctl管理 基本格式&#xff1a; systemc…...

【NLP 52、多模态相关知识】

生活应该是美好而温柔的&#xff0c;你也是 —— 25.4.1 一、模态 modalities 常见&#xff1a; 文本、图像、音频、视频、表格数据等 罕见&#xff1a; 3D模型、图数据、气味、神经信号等 二、多模态 1、Input and output are of different modalities (eg&#xff1a; tex…...

【树莓派Pico FreeRTOS】-软件定时器(Software Timers)

软件定时器(Software Timers) 文章目录 软件定时器(Software Timers)1、硬件准备2、软件准备3、FreeRTOS的软件定时器介绍3.1 触发一次定时器(Oneshort Timer)3.2 重复定时器RP2040 由 Raspberry Pi 设计,具有双核 Arm Cortex-M0+ 处理器和 264KB 内部 RAM,并支持高达 16MB 的…...

My first day in QT programming

My first QT code this->setWindowTitle("HelloWorld"); //设置窗口名称 this->resize(400, 300); //设置窗口大小 QPushButton* btn new QPushButton; //新建按钮组件 btn->setParent(this); //为按钮指定父对象 …...

MySQL分组的时候遇到ONLY_FULL_GROUP_BY报错和解决

一、ONLY_FULL_GROUP_BY 错误的根本原因 MySQL 5.7 及以上版本默认启用了 sql_modeonly_full_group_by 严格模式。该模式强制要求&#xff1a; SELECT 中的非聚合字段必须出现在 GROUP BY 子句中&#xff1b;所有非聚合字段需通过聚合函数&#xff08;如 MAX、MIN、SUM&#…...

Element Plus 常用组件

2025/4/1 向全栈工程师迈进&#xff01;&#xff01;&#xff01; 常见Element Plus组件的使用&#xff0c;其文章中“本次我使用到的按钮如下”是我自己做项目时候用到的&#xff0c;记录以加强记忆。阅读时可以跳过。 一、Button按钮 1.1基础按钮 在element plus中提供的按…...

2025年优化算法:真菌生长优化算法(Fungal Growth Optimizer,FGO)

真菌生长优化算法(Fungal Growth Optimizer&#xff0c;FGO) 是发表在中科院一区期刊“ARTIFICIAL INTELLIGENCE REVIEW”&#xff08;IF&#xff1a;6.7&#xff09;的2025年3月智能优化算法 01.引言 Fungal Growth Optimizer (FGO) 是一种基于真菌生长行为的元启发式优化算法…...

人工智能之数学基础:矩阵分解之LU分解

本文重点 LU分解是线性代数中一种重要的矩阵分解方法,它将一个方阵分解为一个下三角矩阵(L)和一个上三角矩阵(U)的乘积。这种分解方法在数值线性代数中有着广泛的应用,特别是在求解线性方程组、计算矩阵的行列式、求逆矩阵等方面。 LU分解的基本概念 设A是一个nn的方阵…...

阿里通义千问发布全模态开源大模型Qwen2.5-Omni-7B

Qwen2.5-Omni 是一个端到端的多模态模型&#xff0c;旨在感知多种模态&#xff0c;包括文本、图像、音频和视频&#xff0c;同时以流式方式生成文本和自然语音响应。汇聚各领域最先进的机器学习模型&#xff0c;提供模型探索体验、推理、训练、部署和应用的一站式服务。https:/…...

23 种设计模式中的解释器模式

给定一个语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;这个解释器使用该表示来解释语言中的句子。 这种模式通常用于需要解释执行某种语言的场景&#xff0c;如正则表达式、SQL解析等。 解释器模式的核心组件。 抽象表达式&#xff08;Ab…...

AquaMoon and Chess_CodeForces - 1545B

由110变成011&#xff0c;由011变成110&#xff0c;“11”的组合和0可以交换位置 如果是1110 或者是 1110 的情况&#xff0c;红色的“11”与0换位置&#xff0c;变成1011&#xff0c;可以看成蓝色的“11”到了0的后面&#xff0c;蓝色“11”和0的相对位置改变了&#xff0c;而…...