社区
C++ 语言
帖子详情
请问 重载=运算符的函数为什么 必须是类的成员函数而不能是类的友元函数啊?
xjyr
2008-03-06 06:17:35
请问 重载=运算符的函数为什么 必须是类的成员函数而不能是类的友元函数啊?
先谢谢啦
...全文
359
13
打赏
收藏
请问 重载=运算符的函数为什么 必须是类的成员函数而不能是类的友元函数啊?
请问 重载=运算符的函数为什么 必须是类的成员函数而不能是类的友元函数啊? 先谢谢啦
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
arong1234
2010-07-03
打赏
举报
回复
它允许是友元对你有什么特别的好处?我看不出它作为友元的任何理由!
友元是为了那些不属于本类但是和本类有特别关系的函数和类的,而operator=当然是属于本类的,自我复制是OO的一个本质特征之一![Quote=引用 4 楼 xjyr 的回复:]
就是,人家标准委员会规定,俺们没办法不听话.
----------------------------
为什么这样规定啊?
[/Quote]
Yanger_xy
2010-07-03
打赏
举报
回复
规矩,无规矩不成方圆嘛,让你怎么用你就怎么用就行了.
liutengfeigo
2010-07-03
打赏
举报
回复
假如是全局的你认为合理不?
dirkjww
2010-07-03
打赏
举报
回复
你想想"="的左右 把右操作数赋值给左操作数
那么 你对一个对象用"="号.那是不是左操作数肯定是这个数呢?
也就是说 传过去this指针啊....
假设搞成友元不你可以让第二个参数成为赋值号左边的..
是不是乱套了`?
我感觉其实这个就和流运算一个道理.为什么流运算符要搞成友元?
就是因为格式是cin>>a
而不是a>>cin
lyle3
2008-03-20
打赏
举报
回复
支持坏,哈哈
paidfighting
2008-03-20
打赏
举报
回复
违反规定是不对的,小心被抓 - -
友元的话,可以实现很多逻辑意义下不应该有的赋值,这样不就乱了套了
xjyr
2008-03-20
打赏
举报
回复
我想肯定是有原因的!
taodm
2008-03-07
打赏
举报
回复
楼主啊,'1'为什么念"yi"?
珍惜生命远离CPP
2008-03-07
打赏
举报
回复
假如可以随便写那么基本类型=允许不允许重载?
xjyr
2008-03-07
打赏
举报
回复
就是,人家标准委员会规定,俺们没办法不听话.
----------------------------
为什么这样规定啊?
hastings
2008-03-06
打赏
举报
回复
就是,人家标准委员会规定,俺们没办法不听话.
珍惜生命远离CPP
2008-03-06
打赏
举报
回复
规定=的重载必须是类成员函数
hityct1
2008-03-06
打赏
举报
回复
即可以是类的成员函数,也可以是类的友元函数。
vc6.0好像不支持 是类的友元函数。
运算符
重载
博客介绍了C++中某
类
对二元
运算符
成员
函数
的
重载
,如+、-、*、/、=,编译器会将str1 = str2转化为str1.operator=(str2)。同时指出<<、>>操作符
不能
在
类
内作为
成员
函数
重载
,一般作为
友元
函数
重载
,编译器会将std::cout << str转化为operator<<( std::cout, str)。
用成员或
友元
函数
重载
运算符
本文深入探讨了
运算符
重载
的两种形式,包括作为
成员
函数
和
友元
函数
的应用。通过实例详细讲解了一元和二元
运算符
的
重载
过程,以及前置和后置
运算符
的区别。对比了
成员
函数
和
友元
函数
重载
的优劣。
为什么operator<<左移
运算符
不能
重载
成员
函数
,而只能
重载
为
友元
函数
?
本文详细解析了C++中加号
运算符
与左移
运算符
的
重载
过程,包括
成员
函数
与
友元
函数
的不同实现方式及其特点。通过具体示例介绍了如何通过
重载
实现特定的功能。
运算符
重载
的
函数
作为
类
的
成员
函数
和
友元
函数
文章详细介绍了C++中
运算符
重载
的概念,包括如何将
运算符
重载
为
类
的
成员
函数
和
友元
函数
,以及如何实现加法和减法的
重载
。同时,讨论了单目
运算符
如++和--的
重载
,通过
成员
函数
和
友元
函数
两种方式的实现。文章强调了选择
成员
函数
或
友元
函数
进行
运算符
重载
的原则,并提供了示例代码展示其实现过程。,
C++
运算符
重载
(
友元
函数
方式)
本文介绍了C++中
运算符
重载
的两种形式:
成员
函数
方式与
友元
函数
方式,并对比了它们的区别。通过实例展示了如何使用
友元
函数
实现复数
类
的
运算符
重载
。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章