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

C++可见性

1、可见性是一个面向对象编程的概念,它指的是类的某些成员或者方法实际上有多可见。

注意,这里的可见是指:谁能看见它们,谁能调用它们,谁能使用它们。

2、可见性对程序实际运行方式没有任何影响,对程序性能或者类似的东西也没有任何影响。

它纯粹是语言中存在的东西,让我们能够写出更好的代码或者帮我们组织代码。

3、C++中有三个基础的可见性修饰符:private、public、protected。

在其他的语言如Java或者C#中,有其他的关键字。

在Java中我们可以不使用可见性修饰符,这就是所谓的default可见性修饰符。

在C#中,有个可见性修饰符叫做internal。

(回顾一下:class中默认是private,struct中默认是public)

4、如果我们在Entity类中私有化的两个变量X和Y,那么我们在主函数中声明一个Entity的实例e时,我们不能直接对e.X=2这样操作,因为X是私有的,只有Entity类和它的友元才能访问这些变量。函数也是类似的。

5、protected比private更加可见,比public更加不可见。

protected意味着这个类以及类的所有子类,都可以访问这些符号。但是在类之外的函数或者不是类的子类,就不可以访问这些符号(符号指的是变量和函数)

6、为什么要使用到可见性呢?

可见性是为了让代码更加容易维护、容易理解,不管是阅读代码还是扩展代码,与性能无关,也不会产生完全不需要的代码。

可见性不是CPU需要理解的东西,它只是人类发明的东西,为了帮助其他人和自己。

帮助他人是指:当我们写了一个东西用private修饰时,我在告诉别人:嘿!您不能从其他类访问这个,不能从其他代码访问,您只能从这个类的内部访问。


http://www.kler.cn/a/326032.html

相关文章:

  • workerman的安装与使用
  • pycharm分支提交操作
  • Linux:进程的优先级 进程切换
  • AI 提示词(Prompt)入门 十:最佳实践|详细询问,提供细节!
  • 中信建投张青:以金融巨擘之姿,铸就公益慈善新篇章
  • RedHat7—Linux中kickstart自动安装脚本制作
  • 关于武汉芯景科技有限公司的IIC电平转换芯片XJ9509开发指南(兼容PCa9509)
  • Matlab实现麻雀优化算法优化回声状态网络模型 (SSA-ESN)(附源码)
  • linux环境oracle11.2.0.4打补丁(p31537677_112040_Linux-x86-64.zip)
  • [M贪心] lc2207. 字符串中最多数目的子序列(模拟+贪心+一次遍历+代码细节+思维)
  • 无人机避障—— 激光雷达定高北醒TF03-UART(二)
  • 【基础算法总结】分治--快排+归并
  • YOLOv8改进,YOLOv8改进损失函数采用Powerful-IoU(2024年最新IOU),助力涨点
  • 【YOLOv10改进[SPPF]】使用 SPPFCSPC替换SPPF模块 + 含全部代码和详细修改方式
  • Linux内核 -- 读写文件系统文件之kernel_read与kernel_write
  • APISIX 联动雷池 WAF 实现 Web 安全防护
  • VLAN Bond 堆叠
  • 苍穹外卖学习笔记(十三)
  • TikTok Shop成印尼第二大电商平台,TikTok怎么快速涨粉?
  • OpenCV开发笔记(八十一):通过棋盘格使用鱼眼方式标定相机内参矩阵矫正摄像头图像
  • 关于音频噪音处理【常见问题、解决方案等】
  • yolov8/9/10模型在垃圾分类检测中的应用【代码+数据集+python环境+GUI系统】
  • C语言解析软链接,获得真实路径
  • VSCODE驯服日记(三):配置C++环境
  • 【UI】Vue3 + Naive-ui 使用表格Data Table 以及分页页码显示不全问题解决
  • JSON字符串转换成Java集合对象