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

龙潭古镇网站建设海南公司网站建设

龙潭古镇网站建设,海南公司网站建设,jsp书城网站开发,上海在线文章目录 友元友元的作用友元的缺点友元函数语法:特点: 友元类语法:特点: 内部类概念特点 友元 友元的作用 友元提供了一种打破封装的方式,有时提供了便利。 友元的主要作用就是打破封装 即可以让一个类的友元函数…

文章目录

  • 友元
    • 友元的作用
    • 友元的缺点
    • 友元函数
      • 语法:
      • 特点:
    • 友元类
      • 语法:
      • 特点:
  • 内部类
    • 概念
    • 特点

友元

友元的作用

友元提供了一种打破封装的方式,有时提供了便利。

友元的主要作用就是打破封装

即可以让一个类的友元函数/友元类可以直接访问和修改这个类的私有(private)和被保护(protected)成员


友元的缺点

  1. 安全性降低:友元可以不受限制地访问类的所有成员,这可能导致数据的不安全暴露。
  2. 封装性受损:尽管友元不是类的成员,但它的存在使得类的封装性受到破坏,因为非友元函数或类无法直接访问某类中的私有成员和被保护成员。

在实际编程中,应谨慎使用友元机制,避免因为封装性的破坏安全性的降低而导致程序的不稳定和难以维护。

友元应当只在没有其他更好的解决方案时才被考虑使用。


友元函数

语法:

在类中的任何一个访问限定符下增加一句声明:
friend(关键字) 全局的函数声明

即可让这个全局函数成为该类的友元函数

在这里插入图片描述
在这里插入图片描述

特点:

  1. 友元函数可访问类的私有和保护成员,但不是类的成员函数

  2. 友元函数不能用const修饰,因为const修饰函数的时候修饰的是this指针,只有类的成员函数才有this指针

  3. 友元函数的调用与普通函数的调用原理相同

  4. 一个函数可以是多个类的友元函数


友元类

如果类B是类A的友元类,那就可以在类B的作用域中【类B的成员函数的作用域也是类B的作用域】直接访问类A的成员

在这里插入图片描述
在这里插入图片描述


语法:

在类中的任何一个访问限定符下增加一句声明:
friend(关键字) 友元类的声明


特点:

  1. 友元关系是单向的,不具有交换性
    比如上面的事例中类B是类A的友元类,B就可以访问A中的私有和保护成员,但是A却不能访问B中的私有和保护成员,因为B并没有声明A是B的友元类【突然有点可悲是怎么回事?即A把B当做朋友,为B掏心掏肺,但B可能认为A什么都不是】
    在这里插入图片描述

  2. 友元关系不能继承【这个可以形象的理解为爸爸的朋友并不一定是儿子的朋友】

  3. 友元关系不能传递【我朋友的朋友也不一定是我的朋友】
    例:类C是类B的友元类,类B是类A的友元类,但类C不是类A的友元类


内部类

概念

如果一个类定义在另一个类的内部,这个内部类就叫做内部类。
内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去访问内部类的成员。

类比一下:
普通类是在命名空间域/全局域中定义的,但是普通类还是有一个自己的独立的类域,在类域之外的统一为外部,外部不可直接访问类中的私有和保护成员

内部类就是在另一个类的作用域中的定义的,所以内部类的类域之外的也统一是外部


特点

  1. 内部类是定义在一个类的类域里面的,而访问类域里面的东西必须指定类域【和命名空间类似】
    所以要在外部类之外使用内部类时,要用外部类+::先找到内部类
    在这里插入图片描述

  2. 内部类在外部类的类域里,在类域里的东西都受访问限定符的限制,内部类也不例外
    在这里插入图片描述

  3. 内部类是外部类的友元类,内部类可以通过外部类的对象参数来访问外部类中的所有成员【包括私有和被保护成员】,但是外部类不是内部类的友元
    在这里插入图片描述

  4. 内部类可以直接访问外部类中的static成员不需要外部类的对象/类名

http://www.yayakq.cn/news/841636/

相关文章:

  • 济南模板建站多少钱百度高级搜索入口
  • 哪个网站帮别人做ppt不用下载能直接进入的正能量网站
  • 做红木家具推广哪个网站比较好企业网站建设的缺点
  • seo网站设计点击软件html怎么做静态网站
  • 专业做衬衫哪个网站舟山网站建设开发
  • 做专题页的背景网站展览会建设网站平台的作用
  • 怎么设置iis默认网站免费域名注册地址
  • wordpress人型图标seo站内优化包括
  • 自己做网站平台个人装修接活群
  • 制作网站公司定价郑州网站建设乙汉狮网络
  • 自己做视频网站动易网站栏目
  • 达州高端网站建设阿里巴巴外贸订单网站
  • php网站开发实例教程实验报告广州镭拓科技网站建设公司
  • 国际交流网站建设方案小升初最好的补课机构排行榜
  • 怎么做辅助发卡网站网站建设与管理淘宝
  • 网站备案编号查询遵义做网站哪个公司最好
  • 受欢迎的集团网站建设重庆网站建设流程
  • 想学Wordpress建站wordpress能做企业站吗
  • 重庆做营销网站做网站需要什么硬件环境
  • 网站问题分析官方网站建设银行年利息是多少
  • 网站建设简历网页qq直接登陆
  • 网站制作公司源码深圳品牌vi设计
  • 小企业网站建设费用一年如何免费建立自己的网站
  • 学校网站建设介绍范文河南秋实网站建设
  • 免费的个人网站注册wordpress数据库路径
  • 郑州专业做网站公司网站首页关键字方案
  • 赤壁专业建站公司贵州住房与城乡建设部网站
  • 怎么样才能让百度收录自己的网站做富集的网站
  • flash网站模板源码聊城集团网站建设公司
  • 温州网站设计服务家装网上怎么接单啊