public公有继承,protected保护继承,private私有继承

大模型的安全发展与安全治理 2022 年底,OpenAI 推出的 ChatGPT 在文本生成领域实现了重大突破,引领了大模型技术的发展方向,推动了各式各样的基座大模型及行业大模型的发展,并逐步向多模态和具身化方向迅速演进。显然,大模型展现出的强大能力为人工智能通用化揭开了序幕。然而,大模型技术的安全性也面临着生成内容的安全性、伦理道德等重大挑战。只有积极确保大模型的安全性,才能更有效地推动其持续发展,进而更好地应对大模型技术变革所带来的机遇与挑战。 阅读详情
public公有继承
protected保护继承
private私有继承

我们知道类的private和protected成员,在类外是不可以使用的.只有public成员可以在类外直接使用.

公有继承时,基类的private成员派生类也不可用,基类的public和protected成员在派生类中可直接使用.继承过来(变成派生类相应的public和protected成员)只有public成员在派生类外可以直接使用.

保护继承时,基类的private成员仍为有私有.基类的public和protected成员变成派生类的protected成员,这时在派生类外也不能直接使用原基类的public成员

私有继承时,基类的private成员仍为有私有.基类的public和protected成员将变成派生类的private成员.

举个例子.

class A
{
public:
int m_nTelNum;
protected:
int m_nAge;
private:
int m_nMoney;
};
class B:public A
{
void SetTelNum(int nTelNum)
{
m_nTelNum=nTelNum;
}
void SetAge(int nAge)
{
m_nAge=nAge;
}
void SetMoney(int nMoney)
{
m_nMoney=nMoney;//这里就出现错误,因为基类的private成员不能用.
}
};

B objB;//创建B类的对象objB
objB.m_nTelNum=123456;//可以
objB.m_nAge=30;//错误.public继承中基类的protected在派生类中是protected
objB.m_nMoney=100;//更错误,在派生类中都不可以直接使用.在类外就更不能了.

class C:protected A
{
void SetTelNum(int nTelNum)
{
m_nTelNum=nTelNum;
}
void SetAge(int nAge)
{
m_nAge=nAge;
}
void SetMoney(int nMoney)
{
m_nMoney=nMoney;//这里就出现错误,因为这是基类的private成员不能用.
}
};

C objC;//创建C类的对象objC
objC.m_nTelNum=123456;//注意这里和public的区别,这里错误,m_nTelNum变成了C类的protected成员
objC.m_nAge=30;//错误.protected继承中基类的protected在派生类中是protected,这与public同相
objC.m_nMoney=100;//更错误,在派生类中都不可以直接使用.在类外就更不能了.

class D:private A
{
void SetTelNum(int nTelNum)
{
m_nTelNum=nTelNum;
}
void SetAge(int nAge)
{
m_nAge=nAge;
}
void SetMoney(int nMoney)
{
m_nMoney=nMoney;//这里就出现错误,因为这是基类的private成员不能用.
}
};

D objD;//创建D类的对象objD
objD.m_nTelNum=123456;//错误,m_nTelNum变成了D类的private成员
objD.m_nAge=30;//错误.private继承中基类的protected在派生类中是private
objD.m_nMoney=100;//更错误,在派生类中都不可以直接使用.在类外就更不能了.

从例子来看,三种继承从派生类内部引用来看好像没有区别,只在类外引用时表现不同.现在还看不出public和protected继承的区别
那再看一个例子.
class E:public B
{
void SetTelNum(int nTelNum)
{
m_nTelNum=nTelNum;//可以 因为这是B的公有成员
}
void SetAge(int nAge)
{
m_nAge=nAge;//可以 因为这是B的保护成员,现成变成E的protected成员
}
void SetMoney(int nMoney)
{
m_nMoney=nMoney;//这个肯定不可以!
}
};
E objE;//
objE.m_nTelNum=123456;//可以
//其它的两个就不能用了.
class F:public C
{ 
void SetTelNum(int nTelNum)
{
m_nTelNum=nTelNum;//可以 因为这是C的保护成员,这里与public继承已经有区别但还没有表现出来
}
void SetAge(int nAge)
{
m_nAge=nAge;//可以 因为这是C的保护成员,现成变成E的protected成员
}
void SetMoney(int nMoney)
{
m_nMoney=nMoney;//这个肯定不可以!
}
};
F objF;
objF.m_nTel=123456;//错误,因为这是F的保护成员.注意与E类区别
class G:public D
{
void SetTelNum(int nTelNum)
{
m_nTelNum=nTelNum;//不可以 因为这是D的private成员,注意这里区别
}
void SetAge(int nAge)
{
m_nAge=nAge;//不可以 因为这是D的private成员,注意区别
}
void SetMoney(int nMoney)
{
m_nMoney=nMoney;//这个肯定不可以!
}
};
//那G在类外就没有了可以引用的继承过来成员了!
//这些继承方式是很难理解的.最好的办法就是多写代码去试.
ANSYS WORKBENCH——参数化建模以及参数优化(结果导出为Excel) 目录 1、打开软件workbench 2、找到static structure,双击打开 3、选择材料 4、参数化建模 ​ 注:印记面的创建 5、模型属性设置 注:设置优化目标 6、回主界面,选择direct optimization模块 1、打开软件workbench 2、找到static structure,双击打开 3、选择材料 4、参数化建模 至此参数化建模就已经完成啦 注:印记面的创建 印记面一般是一个虚拟的区域,参与实际的网格划分,但是只是由于载. 阅读详情

相关推荐

DDS信号发生器设计避坑指南:从AD9834配置到巴特沃斯滤波实战

本文详细解析了基于AD9834芯片的DDS信号发生器设计中的关键技术要点与常见陷阱,涵盖时钟源选择、寄存器配置时序、巴特沃斯滤波器设计等核心内容。针对中高频段信号质量优化,提供了实用的解决方案和代码示例,帮助工程师规避设计误区,提升信号发生器的性能和稳定性。

2y3u4i5o6p的博客 782

JAVA中static关键字的使用,简洁易懂

static关键字的特性: 1,在一个类中,有static修饰的成员不能直接访问没有static修饰的成员,没有static修饰的成员可以访问有static修饰的。 2,没有static修饰的叫普通成员,有static修饰的叫静态成员。 3,静态的成员只能访问静态的成员,普通的成员可以访问静态的成员也可以访问普通的成员。 4,静态成员已经不是对象级别的成员了,变成类级别的成员。静态的成员可以由类名直接调用,而不需要创建对象。 5,静态成员是在类加载的时候即分配内存空间,而普通的成员是创建对象.

zpf1813763637的博客 345

MindIE与vLLM-Ascend性能对决:Qwen3在昇腾910B上的推理效率实测

本文深度对比了昇腾910B平台上两大推理框架MindIE与vLLM-Ascend的性能表现。通过实测Qwen3系列模型,详细分析了二者在单卡、多卡场景下的推理效率、扩展性及生产环境适用性,为AI算力基础设施选型提供关键参考。

weixin_29214335的博客 1193

公有继承 保护继承 私有继承

转自:http://zhidao.baidu.com/question/159111767.html public公有继承 protected保护继承 private私有继承 我们知道类的private和protected成员,在类外是不可以使用的.只有public成员可以在类外直接使用. 公有继承时,基类的private成员派生类也不可用,基类的public和pro

我的征途是星辰大海 754

APS生产排程系统——ERP、MES、APS系统的关联和区别

APS生产排程系统——ERP、MES、APS系统的关联和区别

这里有一只小马吖 2万+

KIBANA可视化管理界面说明

更说明转自https://blog.youkuaiyun.com/IT_ZRS/article/details/125496588 1 主要结构功能 使用浏览器访问 ip:5601 默认端口,进入首页 Discover:日志管理视图 主要进行搜索和查询 Visualize:统计视图 构建可视化的图表 Dashboard:仪表视图 将构建的图表组合形成图表盘 Timelion:时间轴视图 随着时间流逝的数据 APM:性能管理视图 应用程序的性能管理系统 Canvas:大屏展示

tian830937的专栏 7086

类的继承(公有、私有、保护)转自园博客

公有继承时基类中各成员属性保持不变,基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。 私有继承时基类中各成员属性均变为private,并且基类中private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。 保护继承时基类中各成员属性均变为protected,并且基类中private

weixin_42950674的博客 373

Macbook Pro Bootcamp 安装触控板驱动mac-precision-touchpad在Windows系统下实现更好的触控板操作

由于很多软件的限制,所以不得不在Windows和MacOS之间进行切换,然而,Windows下虽然Bootcamp提供了触控板的驱动,然而只能实现简单的上下滑动和点击等操作,而且在滑动页面的时候滑动非常不流畅,体验极差。 今天无意间发现了一款第三方撰写的驱动,可以较为完美地实现Macbook笔记本在Windows系统下的触控板操作支持,通过在我的2015款Macbook Pro(A1502)进行安装测试,感觉体验很不错,在这里分享给大家。 驱动来自于Github上的imbushu,他的项目地址如下: htt

博客 1万+

Visual C++类的继承及类中成员的访问特性——搞懂public、protected、private

Visual C++类的继承及类中成员的访问特性——搞懂public、protected、private

荔园微风的博客 789

华为OD机考双机位C卷 - 采购订单 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 采购订单 。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 426

OpenStack [ compute_id ] 设计上的小缺陷

而 nova 代码中硬编码(或默认配置)将 compute_id 放在 site-packages 目录,属于 设计上的小缺陷—— 把 “库安装目录” 和 “运行时数据目录” 混在一起了,才导致需要临时调整这个目录的权限。# 配置项说明:node_identity_file 是 nova 用于指定节点标识文件路径的官方配置项,优先级高于代码中的默认路径。自定义 compute_id 路径,指向 /var/lib/nova/ 目录下的 compute_id 文件;

求知若渴,虚心若愚。 491

C++中public、protected及private用法

1.类的一个特征就是封装,public和private作用就是实现这一目的。所以: 用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和友元访问。 2.类的另一个特征就是继承,protected的作用就是实现这一目的。所以: protected成员可以被派生类对象访问,不能被用户代码(类外)访问。 三种访问权限 public:可以被任意实体...

qq_38769551的博客 538

基于 Spring Cloud 环境污染物数据分析与预测平台

基于 Spring Cloud 环境污染物数据分析与预测平台

935

【C++】继承 ⑤ ( public 公有继承 - 示例分析 | protected 保护继承 - 示例分析 | private 私有继承 - 示例分析 )

一、public 公有继承 - 示例分析 1、public 公有继承 2、代码示例 - public 公有继承 二、protected 保护继承 - 示例分析 1、protected 保护继承 2、代码示例 - protected 保护继承 三、private 私有继承 - 示例分析 1、private 私有继承 2、代码示例 - private 私有继承

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

public公有继承 protected保护继承 private私有继承

public公有继承 protected保护继承 private私有继承  我们知道类的private和protected成员,在类外是不可以使用的.只有public成员可以在类外直接使用.  公有继承时,基类的private成员派生类也不可用,基类的public和protected成员在派生类中可直接使用.继承过来(变成派生类相应的public和protected成员)只有public成员在

1120

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

C++公有继承(public)、私有继承(private)、保护继承(protected)详解

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不

T.liu 1619

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C++ protected保护继承、保护方法(protected方法可以被派生类访问,不能被类外部直接访问)(C++ public公有继承、C++ private私有继承)

protected方法在C++中提供了一种中间的访问权限,允许派生类访问基类的特定逻辑,同时防止外部代码直接调用。这种机制在面向对象编程中非常有用,尤其是在需要继承和扩展功能的场景中。正确使用protected可以提高代码的封装性和可维护性。

Dontla的博客 1041

公有继承,保护继承和私有继承

C++种public、protected、private总结1 public:类内、类的对象;派生类、派生类对象均可访问。 protected:类内、派生类内可以访问;类的对象、派生类的对象不可访问。 private:只有类内可以访问;类的对象、派生类内、派生类的对象不可访问。 C++继承:公有继承、保护继承、私有继承2 公有继承 公有继承时,对基类的共有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象只能访问派生类的公有成员(包

charles666_zq的博客 2238

C++中类的三种继承方式public(公有继承)、protected(保护继承)、private(私有继承)之间的差别(附思维导图)

一:对于公有继承(public)方式:基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接派生类中访问(可通过调用基类中访问属性为公有或保护的成员函数来访问基类中的私有成员)。即派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。基类成员对基类对象的可见性为:公有成员可见(或者说可...

COCO56的博客 6770

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被

We are not lucky as we expected! so... 975

C++:public继承、protected 继承、private继承

C++中常见的3种继承方式:public 继承、protected 继承和private继承public 当采用公有继承时,基类成员对其对象的可见性与一般类及其对象的可见性相同,公有成员课件,其他成员不可见。基类成员对派生类的可见性对派生类来说,基类的公有成员和保护成员可见;基类的公有成员和保护成员作为派生类的成员时,它们都维持原有的状态;基类的私有成员不可见;基类的私有成员依然是私有的,派生类

梦里水乡的专栏 1305

C++中 public, private, protected继承之间有什么区别

为了回答那个问题,我想先用我自己的话来描述成员的访问器。如果你已经知道这些,请跳到标题“下一步:”。publicprotected和private。BaseBaseBaseBase这里,“知道”意味着“承认其存在,并因此能够访问”。同样的情况也适用于publicprivate和protected继承。让我们考虑一个类Base和一个从Base继承的类Child。

liluo0815481的博客 1168

C++ 公有(public)继承,私有(private)继承,保护(protected)继承

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这

u011040361的专栏 935

C++中的公有、保护、私有继承

C++中的三种访问权限 C++ 的类中有三种不同的权限的说明符 private,public,protected 三种权限说明符为C++的封装性提供了支持,下面介绍一下三种权限说明符的允许访问的范围,即哪些函数可以访问。 1.private : 类(基类)自身的成员函数 类(基类)友元的成员函数 2.public : 基类自身的成员函数 基类友元的成员函数 基类所产生派生类的成员函数...

wk_bjut_edu_cn的博客 725

C++里public,protected,private的意义和用处

C++里public,protected,private在类成员以及派生类里的使用

ylf_fengge的博客 4194

公有、私有、保护 的定义和继承

C++,public、protected、private,简短总结: 1、public:类内、类的对象;派生类内、派生类对象--->>均可访问。 2、protected:类内、派生类内--->>可以访问;类的对象、派生类的对象-->>不可访问。 3、private:只有类内部-->>可以访问;类的对象、派生类、派生类的对象,统统的-->&...

Nick 7088
上一篇: 中缀表达式;前缀表达式;后缀表达式;之间的转化
下一篇: 二级指针和二维数组的比较
SYP35
博客等级 码龄12年 26粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值