C++中的public,protected, private

【鸿蒙南向开发】浅谈OpenHarmony蓝牙模块 ​ 蓝牙是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多具有蓝牙模块的设备之间进行短距离无线信息交换,使得数据传输变得更加迅速高效。它是爱立信、IBM等5家公司在1998年联合推出的一项无线通信技术,随后成立的蓝牙技术特殊兴趣组织(SIG)来负责该技术的开发和技术协议的制定,如今全世界已有1800多家公司加盟该组织。​ 蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段,使用IEEE802.15协议。 阅读详情


认为这篇文章总结的很好,特转发:

第一:private, public, protected 访问标号的访问范围。
private: 只能由1.该类中的函数、2.其友元函数访问。
不能被任何其他访问,该类的对象也不能访问。
protected: 可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。
但不能被该类的对象访问。
public: 可以被1.该类中的函数、 2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。
注: 友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。

第二:类的继承后方法属性变化。
private 属性不能够被继承。
使用private继承 , 父类的protected和public属性在子类中变为private;
使用protected继 承, 父类的 protected和public属性在子类中变为protected;
使用public继承, 父类中的protected和public属性不发生改变; 

protected继承和private继承能降低访问权限。


关于私有继承的
第一个规则:和公有继承相反,如果两个类之间的继承关系为私有,编译器一般不会将派生类对象转换成基类对象。
第二个规则: 从私有基类继承而来的成员都成为了派生类的私有成员,即使它们在基类中是保护或公有成员。

私有继承的含义:私有继承意味着 "用...来实现"。
如果使类D私有继承于类B,这样做是因为你想利用类B中已经存在的某些代码,而不是因为类型B的对象和类型D的对象之间有什么概念上的关系。
因而,私有继承纯粹是一种实现技术。

私有继承意味着只是继承实现,接口会被忽略。如果D私有继承于B,就是说D 对象在实现中用到了B对象,仅此而已。
私有继承在软件 "设计" 过程中毫无意义,只是在软件 "实现" 时才有用。

 

 今天在读《高质量程序设计》时还注意到了一个特殊地方,在拷贝赋值函数中对private变量的访问情况。参看文章:

http://blog.youkuaiyun.com/lin49940/archive/2010/06/02/5641152.aspx

我的理解是:在类的内部是可以访问private变量的,即便是定义了其它同类新的对象。毕竟this指针的使用也是在有对象建立后。

C++之类的三种继承修饰符(public、private、protected)总结 介绍public、private、protected在类继承中的权限限制 阅读详情

相关推荐

C++类中的访问控制权限(public、protected、private)

C++中每个类控制着自己的成员初始化过程,同时还分别控制着其成员对于派生类来时是否可访问。C++中继承中的访问权限如下表所示: public protected private 公有继承(public) public protected 不可见 保护继承(protected) protected protected 不可见 私有继承(private) private private 不可见 1. 公有继承 派生类公有继承自基类,则基类中的public和protected在派生类

readyone的博客 2044

u9系统的使用方法仓库_鸿蒙系统日志工具HiLog的使用方法

做为一个 Java 攻城师, 我们除了关心系统的架构这种 high level 的问题,还需要了解一些语言的陷阱,异常的处理,以及日志的输出,这些"鸡毛蒜皮"的细节。我们需要通过打印一条条日志来掌握程序运行的状态,下面我们就来讲解鸿蒙系统中的 HiLog 日志工具的具体使用方法。01HiLog 使用说明①使用 HiLog 前必须在 HiLog 的一个辅助类 HiLogLabel 中定义日志类型、服...

weixin_42297742的博客 1023

[QDS]从零开始,写第一个Qt Design Studio到程序调用的项目

最近在使用Qt Design Studio进行开发,但是简中网上要不就是只搜得到Qt Designer(Qt Creator内部库),要不就只搜得到一点营销号不知道从哪里搬来的账号,鉴于Qt Design Studio是一个这么强大的软件,自然是需要来进行一下小小的实践的。所以开了这篇文章,方便没有使用过Qt Design Studio 和 QML的开发者也可以快速上手QDS(Qt Design Studio)。在本文中,你将学会如何使用QDS开发一个简单的QML程序,与你的C++后端代码进行交流。

Andius的博客 8213

Java 修饰符

Java 修饰符 修饰符分为两类: 1、访问修饰符 2、非访问修饰符 注:修饰符用来定义类、方法或者变量,通常放在语句的最前端 Java 支持 4 种不同的访问权限: 1、default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 2、private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类) 3、public : 对所有类可见。使用对象:类、接口、变量、方法 4、protected : 对同一包内的类和所有子类可见。使用对象

weixin_39887317的博客 996

IFIX往Mysql数据库同步数据方法

通过IFix数据库向Mysql数据库同步数据

仙人掌 1596

Ansys Zemax与Speos协同设计:HUD系统从光学优化到驾驶视觉验证全流程解析

本文详细解析了如何利用Ansys Zemax与Speos协同工作流,完成HUD系统从光学内核优化到驾驶视觉验证的全流程。通过Zemax进行精密光学设计与像差校正,再通过Speos进行HOA定量分析和虚拟驾驶舱仿真,实现了数据无损流转与验证闭环,有效解决了光学性能与视觉感知脱节的核心问题,显著提升HUD设计效率与可靠性。

git9versioner的博客 530

struts2标签里的:#,%{},$符号

问题一:#,%{},$符号  在Struts2标签属性中经常会出现”#”或者”%{}”的符号出现,通过上面OGNL表达式基础的介绍,知道了OGNL上下文中有且仅有一个根对象。Struts2为我们定义了许多明明对象,他们分别是”ValueStack”,”Parameters”,”Session”,”Request”, “Appliction”,”Attr”,其中”ValueStack”被设置为上下文的

寂寞是一个人的狂欢,狂欢是一群人的寂寞... 877

Hopf振荡器在机器人步态控制里到底怎么用?一个CPG仿生案例说清楚

本文深入解析了Hopf振荡器在机器人步态控制中的实际应用,通过CPG仿生案例详细展示了从数学方程到关节指令的完整流程。重点探讨了Hopf振荡器的极限环稳定性、参数调节技巧及自适应控制策略,为机器人运动控制提供了高效解决方案。

weixin_29284657的博客 202

C++中的private, public, protected

Private, Public, and Protected in C++

scott198512的博客 1万+

MultiOTP Credential Provider避坑指南:从安装到RDP双因素认证的全流程解析

本文详细解析了MultiOTP Credential Provider从安装到实现RDP双因素认证(MFA)的全流程,重点分享了Docker部署、Active Directory集成及网络级认证(NLA)兼容性等环节的实战避坑经验,旨在帮助运维人员高效、稳定地部署离线双因素认证方案,提升Windows远程桌面安全性。

weixin_29255731的博客 642

点云入门笔记(一):点云数据及获取

点云概念: 点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标 X,Y,Z、颜色、分类值、强度值、时间等等。

wc19862274581的博客 2万+

详解C++中的三种 继承(public, protected, private)

@TOCC++三种继承方式: 先看一张继承关系表 三种继承方式: 1.首先说明一点:类实例(即类对象)不能直接访问类的 private成员和protected成员,但是能直接访问类的public成员。 2.另外无论哪种继承方式,子类都不能直接访问父类的 private成员;但是能直接访问父类的 protected成员和public成员(注意:是子类,而不是类实例),并且能通过父类的protected成员函数和public成员函数间接访问父类的private成员;这句话强调了类与类之间通过继承方式的访问规则

xrinosvip的博客 1万+

【异常】OpenClaw 连接异常This site can‘t be reached 127.0.0.1 refused to connect Try: Checking the proxy

在访问OpenClaw相关服务时,浏览器提示如下异常信息,无法正常加载页面:Try:补充说明:该报错仅出现于本地访问场景(127.0.0.1为本地回环地址),涉及OpenClaw核心服务的本地连接交互,无外部网络及敏感信息泄露风险。

奶爸的编程之路,也就一周冷个三天 1484

C++中的private protected public区别

当private,public,protected单纯的作为一个类中的成员权限设置时: private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.  protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问  public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问 注:友元

alice_yangmin的专栏 1万+

[毕设项目-大模型微调]现代文翻译文言文【基于LLaMA3.1-8B微调】

教你基于LLaMA3.1-8B微调如何做到现代文翻译文言文

逐梦苍穹的博客 2296

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【c++中的public private protected】

public类型的变量和方法可以被当前类的对象或者对象指针访问,而private和protected类型的不可以被对象和类对象指针访问,但是对象中的方法可以访问对象中任意的public,protected,private类型方法和变量。public继承时,子对象或者子对象指针可以访问父对象中的public变量,而不能访问父对象中的private和protected变量以及方法。private继承时,子对象或者子对象指针不可以访问父对象中所有的public,private和protected变量。

要把所有那些负面的信息当做对自身行为的评价,而不是对自身价值的评判。 364

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C++中的Public 、Private、Protected 区别

C++中的Public 、Private、Protected 区别 第一: private,public,protected的访问范围: private: 只能由该类的成员函数、友元的成员函数访问,不能被其他类的成员函数访问,即使是该类的对象也不能直接访问 public: 可以被该类的成员函数、友元的成员函数、子类的成员函数访问,也可以被自己类的对象访问 注意:友元包括两种,一种是设为...

hyl999的专栏 1440

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

C++中的public、private 、protected关键字说明

C++中的public、private 、protected关键字说明: 这三个关键字是用在类的声明中: class Base { public : private: protected: }; public:类内、类的对象;派生类内、派生类对象均可访问; private:只有类内部,可以访问;类的对象、派生类、派生类对象,都不可以访问。 protected : 类内、派生类内,可以访问,类的对象...

figting 1585

C++中的三种继承public,protected,private

三种访问权限 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问   三种继承方式 public 继承 protect 继承 private 继承   组合结果 基类中 继承方式 子类中 public & public继承 => public public & protected继承 => pro

wei.zhou的专栏 2554

C++类中的public、protected、private的区别

在C++中,类的成员(包括数据成员和成员函数)可以通过访问说明符(access specifiers)来指定它们的访问级别。在类定义中,访问说明符可以多次出现,它们定义了不同的访问区域。成员的访问级别由它声明时所在的访问区域决定。这些访问说明符决定了类的成员可以被谁访问。的公共和保护成员,但不能访问私有成员。可以访问保护和私有成员,而。

小灰灰的博客 549

C++中的继承public, protected和private

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

IT_Beijing_BIT的博客 1209

C++中的public、protected和private

C++中的public、protected和private (1)用作类中的成员权限 public成员: 可以被该类中的函数、子类的函数、友元函数(包括全局友元函数、友元类中的成员函数)访问,也可以由该类的对象访问。 protected成员: 可以被该类中的函数、子类的函数、友元函数访问,但是不能别该类的对象访问。 private成员: 只能被该类中的函数、友元函数访问,其他

YF_Li123的博客 644

C++ 中的public、private 和 protected

在 C++ 里,public、private 和 protected 是用于控制类成员(属性和方法)访问权限的访问修饰符。合理使用这些访问修饰符能实现数据封装和信息隐藏,增强代码的安全性和可维护性。下面详细介绍它们的特性和用法。

luotuo28的博客 615
上一篇: 了解C++中的RTTI
下一篇: C/C++数组名与指针区别深入探索
sdudubing
博客等级 码龄16年 117粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值