社区
C++ 语言
帖子详情
这两种重载,那种错了?
xliu2019
2003-11-27 12:15:35
如果声明AB类的加号运算的重载
第一种 AB operator + (AB &a,AB &b)
第二种 AB operator +(Ab &a);
一道单选,我觉得都对
而且 effective c ++ 中还介绍过两者的区别
...全文
35
12
打赏
收藏
这两种重载,那种错了?
如果声明AB类的加号运算的重载 第一种 AB operator + (AB &a,AB &b) 第二种 AB operator +(Ab &a); 一道单选,我觉得都对 而且 effective c ++ 中还介绍过两者的区别
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
noirchloe
2003-11-27
打赏
举报
回复
二是 +=
kdush
2003-11-27
打赏
举报
回复
废人,终于有见你发言了.呵呵,怎么还没变星呢?
好象大家的意见很不一样呀.
我还是同意houdy(苦练内功中)的观点.
废人,我爱我师,但我跟爱真理.哈哈!~!~!
Wolf0403
2003-11-27
打赏
举报
回复
一不好,二不对。
重载 operator + 的两种形势:作为成员函数的时候
AB& AB::operator +(const AB&){/*...*/; return *this;}
作为非成员函数的时候
AB operator + (const AB&, const AB&){/*...*/; return AB(/*...*/);} // 注意:返回值,不是引用。
abitz
2003-11-27
打赏
举报
回复
请注意:非成员operator != 友元
yuantao
2003-11-27
打赏
举报
回复
看在类内还是为友元了
在类内的话,第2是对的
为友元的话
第1个是对的
sungboy
2003-11-27
打赏
举报
回复
这要看重载出现在哪里!
第一个是非成员函数,可以是类的友元。
第二个是成员函数。
inline
2003-11-27
打赏
举报
回复
第一种重载错误!如果重载为类的友元就对了!
friend AB operator + (AB &a,AB &b);
第二种正确! 为重载为类成员函数的形式!
"+" 的左操作数默认来自当前调用者 *this
houdy
2003-11-27
打赏
举报
回复
第一种:非成员函数,可以是类的友元函数。
第二种:类的成员函数。
什么情况下使用非成员函数,什么情况下使用成员函数,这个要看你具体重载的操作的,有的操作赋还必须是成员函数,比如=操作符。具体的标准,<thinking in C++>中有一章专门将操作符重载,说的很清楚,可以看看。
abitz
2003-11-27
打赏
举报
回复
好像要看出现在那里吧?
第一种 AB operator + (AB &a,AB &b)
应该在于AB定义的同一个scope内
第二种 AB operator +(Ab &a);
应该在 scope AB::内
ryyy
2003-11-27
打赏
举报
回复
第二种可以用friend
gjer
2003-11-27
打赏
举报
回复
我觉得这样看你怎么定义的,要是看是不是类内和类外了
文斌
2003-11-27
打赏
举报
回复
前一种对,后一种无法使两个操作数相加,如果是+=的重载就对了
华为 C++ 培训资料
1.3 C++多态的
两种
多态形式和区别…………………………………………… 18 第二章
重载
………………………………………………………………………18 2.1 函数
重载
………………………………………………………………...
C++哪些运算符
重载
可以
重载
?
运算符
重载
是C++重要的特性之一,本文首先引用了C++标准文档对于“运算符
重载
”的规定,然后通过代码实例回答了:哪些运算符可以
重载
?如何
重载
?实现运算符
重载
时应注意哪些?
C++哪些运算符
重载
能够
重载
?
本文将用代码实例回答——C++哪些运算符能够
重载
?怎样
重载
?实现运算符
重载
时须要注意哪些? 哪些运算符能够
重载
,哪些不可
重载
? C++98,C++0x,C++11对“哪些运算符
重载
能够
重载
”有一致的规定。详细例如...
C#中关于
重载
(overload)介绍(想了解的这儿都有)
重载
的含义是什么?
重载
有哪些?
重载
方法,
重载
函数该怎么写?
重载
的特点是什么?
重载
的作用是什么? 使用
重载
时应该注意什么?
运算符
重载
的
两种
方法
运算符
重载
可以通过
两种
方法来实现,用成员函数或者友元函数
重载
运算符。 在本文章中,有两个重要的内容: 第一个: 前置++ 和 后置++
重载
,后置++通过一个占位符来标明。 第二个: 单目运算符
重载
时,当作为成员...
C++ 语言
64,643
社区成员
250,606
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章