社区
C++ 语言
帖子详情
[讨论]什么时候该用友元函数
Dugowe
2007-04-20 04:31:47
rt
...全文
509
10
打赏
收藏
[讨论]什么时候该用友元函数
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
做鸡真好吃
2007-09-17
打赏
举报
回复
哦
Dugowe
2007-09-17
打赏
举报
回复
谢谢各位了
coldplay968
2007-04-21
打赏
举报
回复
没有办法的时候才用
小一郎
2007-04-21
打赏
举报
回复
我还没主动用过
飞哥
2007-04-21
打赏
举报
回复
overload operator
plo2168424
2007-04-21
打赏
举报
回复
ding~
holerescue
2007-04-20
打赏
举报
回复
正如楼上所说,使用友元函数会在一定程度上破坏类的封装性.但是有些情况下为了解决特定的问题,不得不使用友元.如重载操作符operator>>, operator<<.
class Member
{
int i;
public:
friend ostream& operator<<(ostream& os, const Member& m)
{
return os << "Member: " << m.i << endl;
}
}
这里二元操作符<<的第一个操作数是ostream而不是Member,因此不能简单把operator<<作为Member的成员函数.
xlbdan
2007-04-20
打赏
举报
回复
如果是继承的情况下,
想共享数据,
就将基类的要共享的数据成员声明为protected即可
子类便可以访问它.
而如果是两上没有共享关系的类,
想访问对方的私有成员时,
有两种方法,
一种就是定义一个共有成员函数来返回那个私有成员,
但这种情况下,
除非返回的是引用,
否则都不能对私有成员进行修改.
另一种就是用友元了,
如果类A想完全使用类B的私有成员,
那就将A声明为B的友元类.
但友元破坏了封装性,
不得已的情况下不要使用.
yutaooo
2007-04-20
打赏
举报
回复
C++中最强耦合性的方式了. 不到山穷水尽不要用.
最有可能的是在重载 operator << 的时候. 但, 一旦你的接口足以满足operator <<你就不应该用.
taodm
2007-04-20
打赏
举报
回复
尽量不要用。
anaconda python 版本对应关系_科学网-Anaconda版本选择与下载、whl与添加国内镜像源-张伟的博文...
(一)Anaconda于Python版本对应号(二)Anaconda安装第三方包(whl文件)确定python版本,下载对应的*.whl,然后安装,命令:pip install 路径+whl文件名检查是否安装成功:命令行窗口输入: pip list(三)Conda添加国内镜像源目的:Anaconda的所有的软件包全部在国外,安装起来很麻烦,关键是下载速度慢,而且经常中断,所以需要配置国内安装的镜像...
怎样快速锁定符合产业需求的企业与技术资源?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
【高速接口测试】基于CTLE均衡的PCIe 5.0发射机抖动测量方法:32 GT/s速率下精确评估硅基抖动分量的技术方案
内容概要:本文档是PCI-SIG发布的工程变更通知(ECN),针对PCI Express 5.0规范中32.0 GT/s速率下的发送端(Tx)抖动测量方法进行了更新。新方法采用“抖动测量模式”替代原有的S参数去嵌入法,通过在被测通道应用基于CTLE的均衡来减少因信道损耗导致的信号退化,从而更准确地评估由芯片内部随机和确定性源产生的抖动。该方法利用测试通道中的时钟模式和其他通道的合规模式,避免了传统去嵌入过程中高频噪声放大带来的测量不准确性。对于2.5至16.0 GT/s速率,原有测量方法保持不变。; 适合人群:从事高速接口设计、验证或测试的工程师,尤其是涉及PC
科技中介服务机构如何利用知识图谱提升供需匹配精准度?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
如何高效推进跨区域产学研合作与资源共享.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
C++ 语言
65,212
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章