网站首页 > 技术教程 正文
访问修饰符用于实现称为数据隐藏的面向对象编程的重要方面。考虑一个真实的例子:
拥有10名核心成员的研究与分析部门(R&AW)拥有有关国家安全的敏感机密信息。现在,我们可以将这些核心成员核心化为类的数据成员或成员函数,而这些成员又可以与R&A部门相关联。这10个成员可以直接从其所属部门(班级)访问机密信息,但是除这10个成员之外,任何人都不能直接访问此信息,即,除班级中普遍存在的那些外部功能外,其他人不能访问未授权的信息。既不具有分配的特权(例如,朋友类和继承的类所拥有的特权,如以后将在本文中看到的那样),也没有访问被允许直接访问机密信息的这10个成员之一(类似于可以通过直接访问私有成员的类的公共成员函数在外部访问该类)。这就是实践中的数据隐藏。
访问修饰符或访问说明在类用于分配的辅助功能的类成员。也就是说,它对类成员设置了一些限制,使其不能被外部函数直接访问。
C ++中提供了3种类型的访问修饰符:
Public
Private
Protected
注意:如果我们没有为类内的成员指定任何访问修饰符,则默认情况下,成员的访问修饰符将为Private。
现在让我们详细了解这些访问修饰符:
1. Public:在公共说明符下声明的所有类成员将对所有人开放。声明为public的数据成员和成员函数也可以由其他类和函数访问。可以使用具有该类对象的直接成员访问运算符(。)从程序中的任何位置访问该类的公共成员。
例子:
输出:
半径是:5.5
面积是:94.985
在上面的程序中,数据成员半径声明为public,因此可以在类外部访问它,因此可以从main()内部访问它。
2.私有:声明为私有的类成员只能由该类内部的成员函数访问。类之外的任何对象或函数都不允许直接访问它们。只允许成员函数或朋友函数访问类的私有数据成员。
例子:
输出:
在函数'int main()'中:11 : 16:错误:'double Circle :: radius'是私有的
double半径;
^ 31:9:错误:在此上下文中
obj.radius = 1.5; ^
上面程序的输出是编译时错误,因为不允许我们直接在类外部访问类的私有数据成员。但是尝试访问obj.radius,radius是私有数据成员,我们得到了编译错误。
但是,我们可以使用类的公共成员函数间接访问类的私有数据成员。
例子:
输出:
半径是:1.5
面积是:7.065
3.受保护的:受保护的访问修饰符与私有访问修饰符类似,除非不能在朋友类的帮助下,否则不能在其类之外进行访问,区别在于声明为受保护的类成员可以由任何人访问该类的subclass(派生类)。
注意:这种通过继承进行的访问可以根据继承的模式来更改派生类中基类元素的访问修饰符。
例子:
输出:
id_protected是:81
以上就是今天的分享内容!每天学点小知识,希望对你有帮助~
另外如果你想更好地提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~
编程学习书籍分享:
编程学习视频分享:
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
点击下方【了解更多】获取更多免费学习资料帮助你学习成长哦~
猜你喜欢
- 2025-08-03 Citigroup Inc. 3% Minimum Coupon Principal Protected Based Upon Russell:维持Kodiak Sciences Inc.(KOD)为中性评级,目标价为134.00美元
- 2025-08-03 Citigroup Inc. 3% Minimum Coupon Principal Protected Based Upon Russell:维持米德尔机械(MIDD)为中性评级,目标价为185.00美元
- 2025-08-03 4-ARM-PEG-Boc protected Amine(2)/Azide(2)-纳米载体构建
- 2025-08-03 Python super()函数:调用父类的构造方法
- 2025-08-03 打个系统补丁竟然开不了机,Win10又闯祸了
- 2025-08-03 解决GitLab报错:not allowed to force push code to a protected branch
- 2025-08-03 java基础之——访问修饰符(private/default/protected/public)
- 2025-08-03 (原创)安卓手机误删照片的几种应急找回解决办法,干货建议收藏
- 2025-08-03 iOS/Android都受到BBM Protected保护
- 2025-08-03 Office软件无法打开共享盘上的文件怎么办?关闭受保护的视图试试
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)