运算符重载时,为什么有的要写返回类型,有的却不要?

zxy_zs 2002-12-02 03:43:19
像operator char *() const就不用写返回类型。但是有返回值。
而像char& operator[](int) const就有写。
(注:以上两个抄自<effective C+++>里)
哪位高手帮着解释一下
...全文
165 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lx_cyh 2002-12-02
  • 打赏
  • 举报
回复 2
operator char *() const是重载char *(类型转换),重载的结果(返回值)当然是char *,所以就不必写返回值
类型转换都是这样的


char& operator[](int) const 重载【】运算符,重载的语义及返回值取决于编程者,所以当然要指定返回值
langzi8818 2002-12-02
  • 打赏
  • 举报
回复
我是菜鸟,不懂,那里有返回值呀?
operator char* ()const是不是重载的*

69,372

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧