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

友元函数

友元函数和友元类

友元函数和不同函数的区别:

友元函数在类中声明,那么这个函数就能访问里面的所有成员变量。

 

友元函数想干嘛?

如果我自己定义了一个函数,函数的形参是一个对象,在函数体里面,通过这个对象我访问对象里的所有成员变量,这显然是不行的,因为private/protected不能被外部访问。那怎么办?通过友元函数!

那么怎么定义友元函数呢?

常规的定义一个函数(这个函数里面的形参是一个对象),然后把这个函数就是把一个函数放在对象所在的类里面,并且要在前面加个friend.

有点extern的味道

 

 

如果一个类A想访问类B的成员变量,那么:

在类B中声明友元函数时,必要要指明这个友元函数时类A中的。为什么呢?

显然,如果不指明他是类A空间里的话,那么在外部编写这个友元函数时候就不能访问成员变量,这是因为,类A并没有准确的将他做朋友啊~~~

相关文章:

  • 函数模板定义
  • 类模板定义+用类模板写一个入栈出栈的程序
  • 模板的全特化与偏特化
  • cout
  • cin
  • C++文件输入输出流+输入输出二进制文件(自定义对象)
  • 多态定义
  • 函数重载/遮蔽/隐藏
  • 纯虚函数和抽象类
  • 应用程序主窗体
  • 串口通讯中出现的错误(1)
  • 鼠标事件(鼠标的各种处理事件)
  • 键盘事件(按下CTRL+M 最大化窗口)
  • 定时器事件和随机数(示例代码)
  • 事件过滤器和事件发送
  • 收藏网友的 源程序下载网
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 30秒的PHP代码片段(1)数组 - Array
  • Android Volley源码解析
  • canvas 五子棋游戏
  • Go 语言编译器的 //go: 详解
  • iOS编译提示和导航提示
  • JAVA SE 6 GC调优笔记
  • Netty源码解析1-Buffer
  • QQ浏览器x5内核的兼容性问题
  • Vultr 教程目录
  • 从0到1:PostCSS 插件开发最佳实践
  • 类orAPI - 收藏集 - 掘金
  • 离散点最小(凸)包围边界查找
  • 微信开源mars源码分析1—上层samples分析
  • 为视图添加丝滑的水波纹
  • 学习Vue.js的五个小例子
  • 通过调用文摘列表API获取文摘
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #etcd#安装时出错
  • (07)Hive——窗口函数详解
  • (1)虚拟机的安装与使用,linux系统安装
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (Java数据结构)ArrayList
  • (二)fiber的基本认识
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (一)Linux+Windows下安装ffmpeg
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)ORM
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .cn根服务器被攻击之后
  • .NET 4.0中的泛型协变和反变
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .net连接oracle数据库
  • @Transactional 竟也能解决分布式事务?
  • [AR]Vumark(下一代条形码)