免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2352 | 回复: 3
打印 上一主题 下一主题

[函数] 类成员函数重载的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-05 17:13 |只看该作者 |倒序浏览
请大侠看看这个是不是成员函数重载,暂时没什么头绪,还请达人解获。谢过先:)

  1. class A
  2. {
  3. public:
  4.     RequestLine& SipMessage::header(const RequestLineType& l);
  5.     // Looks identical, but it isn't -- CONST called -- may throw
  6.     const RequestLine& SipMessage::header(const RequestLineType& l) const;
  7.     .......
  8. private:
  9.     .......
  10. }
复制代码


问题:
1、接口结尾跟const,是不是不能修改private成员的意思?
2、const 类型的返回值有什么不同?
3、这两个成员函数名称与参数相同,只是第二个函数多了两个const。这算不算重载?到底调用的时候是哪一个?两个函数实现不同
4、另外那个注释俺也没看懂

论坛徽章:
0
2 [报告]
发表于 2006-07-05 17:27 |只看该作者
RequestLine& SipMessage::header(const RequestLineType& l);
    // Looks identical, but it isn't -- CONST called -- may throw
    const RequestLine& SipMessage::header(const RequestLineType& l) const;

是重载。
l) const; 从这看。 const SipMessage*参数, 另一个是SipMessage*参数

[ 本帖最后由 gooderfeng 于 2006-7-5 21:21 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-07-05 18:29 |只看该作者
类声明有点问题:SipMessage是什么,名字空间吗?

1、接口结尾跟const,是不是不能修改private成员的意思?
不是,不能直接修改所有数据成员或调用非const的其它成员函数的意思.
2、const 类型的返回值有什么不同?
const返回的引用不能赋给非const的变量
3、这两个成员函数名称与参数相同,只是第二个函数多了两个const。这算不算重载?到底调用的时候是哪一个?两个函数实现不同
是重载.如果是const的对象就调const的函数(第二个),否则调非const的函数
4、另外那个注释俺也没看懂
俺也看不懂

论坛徽章:
0
4 [报告]
发表于 2006-07-06 09:44 |只看该作者
多谢两位的指点,已经搞明白了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP