社区
C++ 语言
帖子详情
重载操作符返回值的问题
wenhong609
2012-04-12 08:15:13
重载操作符有的返回值是类对象级别的,比如赋值操作符,有的返回的又是类成员级别的,比如下标操作符,到底该怎么确定函数的返回值呢!感觉不怎么好确定啊!有时候完全是乱的!!!
...全文
160
11
打赏
收藏
重载操作符返回值的问题
重载操作符有的返回值是类对象级别的,比如赋值操作符,有的返回的又是类成员级别的,比如下标操作符,到底该怎么确定函数的返回值呢!感觉不怎么好确定啊!有时候完全是乱的!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lm_whales
2013-02-28
打赏
举报
回复
根据各个运算符的意义确定
lgy6468391
2012-04-12
打赏
举报
回复
无论形参为何种类型,赋值操作符必须定义为成员函数
所以赋值必须返回对 *this 的引用 ,就是类本身。
类定义下标操作符时,一般需要定义两个版本:一个为非 const 成员并返回引用,另一个为 const 成员并返回 const 引用。
Vincent_Song
2012-04-12
打赏
举报
回复
根据需要。
barech
2012-04-12
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
引用 3 楼 的回复:
赋值操作符是二元操作符;下标操作符是一元操作符。
和返回值的类型有多大的关系!!主要是涉及到用的时候的使用表达式为:类类型对象+操作符,返回值能随便定吗,应该是每个操作符的返回值的类型是固定的吧!!
[/Quote]
参照7楼
深圳大哥
2012-04-12
打赏
举报
回复
对于操作符是否定义为成员函数的建议:
操作符 建议
所有一元操作符 成员
= [] {} -> 必须是成员
+= -= *= /= ^= &= |= %= >>= <<= 成员
所有其它二员操作符 非成员
wenhong609
2012-04-12
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
赋值操作符是二元操作符;下标操作符是一元操作符。
[/Quote]
和返回值的类型有多大的关系!!主要是涉及到用的时候的使用表达式为:类类型对象+操作符,返回值能随便定吗,应该是每个操作符的返回值的类型是固定的吧!!
wenhong609
2012-04-12
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
这是固定的.
看你需要 赋值,返回值是本身的引用.
下标操作符,也可以返回 元素的引用,也可以返回 一个新的元素.
一切,皆在于你的需求
[/Quote]
还有那么多的操作符,返回值不是这个就是那个,怎么记啊,比如自增操作符,是对成员进行操作,返回的又是类对象,有点想不明白!!
evencoming
2012-04-12
打赏
举报
回复
这是固定的.
看你需要 赋值,返回值是本身的引用.
下标操作符,也可以返回 元素的引用,也可以返回 一个新的元素.
一切,皆在于你的需求
barech
2012-04-12
打赏
举报
回复
赋值操作符是二元操作符;下标操作符是一元操作符。
maoxing63570
2012-04-12
打赏
举报
回复
还是想想你为什么要重载操作符吧,同时保持跟内置的操作符的语义保持一致就行了
清风似水流
2012-04-12
打赏
举报
回复
不是你自己控制的吗?
C++高级编程1
C++高级编程.mdC++高级编程将类转化为其它类型通常都会加上 const没有
返回值
(
返回值
由type指定)没有参数//调用的时候,先看有没有相应的
操作符
重载
关于<<和>>
重载
操作符
返回值
的
问题
1)
重载
操作符
必须有一个类类型的操作数,这是为了避免对已有的内置类型对象的
操作符
的原本含义的更改; 2)
重载
后的
操作符
的优先级和结合性是固定不变的; 3)
重载
操作符
为类成员函数时,它的形参表中会少一...
C++:
重载
操作符
& 赋值
操作符
重载
需要注意的
问题
2.为什么需要
重载
操作符
? (1)简单、方便,比起封装一个函数,使用operator比较形象直观 (2)可以提高代码的可读性 (3)为了处理自定义类型和内置类型之间的运算 3.
操作符
重载
的格式 函数的返回类型 ...
c++
重载
运算符时
返回值
为类的对象或者返回对象的引用
以上面的代码为例,假设a,b,c,d都是同一个类(classA)的不同对象,假如我
重载
这个类的加号时,
返回值
类型不是此类或者他的引用,如下 void operator+(classA &a, classA &b) { //加法运算 } 那么在我最...
C++中
重载
操作符
[ ]
1.首先说说为什么要
重载
操作符
[ ] 主要是因为系统只给了整数类型(int)的
重载
函数,即只能在方括号中输入整数进行查找,但有时候我们可能存放数据时,下标的类型是自定义的,希望也能像数组直接通过下标访问元素的...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章