社区
C++ 语言
帖子详情
重载操作符与成员函数和非成员函数的关系
bendise
2008-02-19 04:12:07
看primer第4版讲到重载操作符的时候看着有点迷糊,谁能帮我解释下,什么样的重载操作符用在成员函数?而什么样的重载操作符用在非成员函数?
...全文
103
7
打赏
收藏
重载操作符与成员函数和非成员函数的关系
看primer第4版讲到重载操作符的时候看着有点迷糊,谁能帮我解释下,什么样的重载操作符用在成员函数?而什么样的重载操作符用在非成员函数?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xi_aowo_happy
2008-02-20
打赏
举报
回复
经验吧,4楼说的比较好。
白乔
2008-02-20
打赏
举报
回复
还有一种情况,a+b
a、b对象所属的类不是你写的
你只能用全局的操作符
taodm
2008-02-20
打赏
举报
回复
C++ Primer讲了原则的,再认真找找。
visame
2008-02-20
打赏
举报
回复
这个好像约定俗成的吧。一般+,+=,*,/这些都是member function
输入输出<<,>>一般都是friend,non-member的。
原则上所有运算符都可以当成非成员函数重载。
ttkk_2007
2008-02-19
打赏
举报
回复
对第一个操作数一定是对象,而且要返回运算结果的(+=/=/...),用成员函数
======================================================
谁说非要用成员函数
hai040
2008-02-19
打赏
举报
回复
第2条还有个条件,执行后,运算结果跟第一个操作数一样
hai040
2008-02-19
打赏
举报
回复
第一个操作数允许不是对象的(+-*/...),用非成员函数
对第一个操作数一定是对象,而且要返回运算结果的(+=/=/...),用成员函数
楼下补充
300道C++题目
300道C++题目
提高C#编程水平的50个要点
提高C#编程水平的50个要点 肯定对你有帮助
操作符
重载
为
成员函数
、
非
成员函数
、友元函数的区别
操作符
重载
为
成员函数
、
非
成员函数
与友元函数的区别: 将二元
操作符
重载
为
成员函数
时,两个参数(即操作数)就不再是对等,第一个参数成为了调用对象,第二个参数成为真正的参数。 将二元
操作符
重载
为
非
成员函数
时,两边参数可以互换,但效率没
重载
为
成员函数
时的高,而且函数内不能直接读取private成员。
重载
为友元函数的话,既可直接访问private成员,也可以互换参数 ...
成员函数
重载
和
非
成员函数
重载
成员函数
重载
指的是在类内部定义
操作符
重载
函数,这些函数作为类的
成员函数
存在。由于
成员函数
可以隐式地访问类对象的成员,因此它们通常不需要额外的参数来指定操作的对象(除了可能是其他操作数)。
非
成员函数
重载
指的是在类外部定义
操作符
重载
函数,这些函数不是任何类的
成员函数
。由于它们不是类的
成员函数
,因此它们不能隐式地访问类对象的成员,而需要通过参数来指定操作的对象。是私有的,那么我们需要将它们声明为类的友元,以便
非
成员函数
能够访问它们。然而,在这个例子中,我们假设它们是公共的,因此不需要友元声明。
C++
成员函数
与
非
成员函数
实现运算符
重载
目录 1.
成员函数
运算符
重载
2.
非
成员函数
【友元函数】运算符
重载
3.运算符
重载
的禁区与规则
成员函数
与
非
成员函数
重载
区别 区别: 两种方式选择: 特殊情况 4.运算符
重载
的禁区和规则 1.
成员函数
运算符
重载
需求:// 规则: // 一斤牛肉:2斤猪肉 // 一斤羊肉:3斤猪肉 Cow.h #pragma once class Pork; class Goat; class Cow{ public: C...
C++ 语言
65,176
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章