| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖
标题:运算符重载
只看楼主 加入收藏
best218
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-5-18
收藏
 问题点数:0 回复次数:5 
运算符重载

//subscript operator for non-const objects returns modifiable lvalue
int &operator[]( int );

//subscript operator for const objects returns rvalue
int operator[]( int ) const;

按重载函数的规则,这两个函数是不能通过编译的。但是在C++ How to Program,fifth Edition作者Deitel在11.8(p 583)节中的这个例子却给出了运行结果,让我莫名奇妙。我在Dev-C++和Visual studio 2005中都提示重载函数错误。不知道Deitel用的是什么编译器?

我认为是程序错误。

搜索更多相关主题的帖子: 运算符 重载 
2007-05-18 22:03
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
按函数重载规则,这是可以的!

仅对于引用型参和指针型参,可以用const修饰来重载。
这里const修饰的是隐式型参this,所以OK!

再看看书吧!

Fight  to win  or  die...
2007-05-19 01:08
best218
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-5-18
收藏
得分:0 
回复:(aipb2007)按函数重载规则,这是可以的![em0...

谢谢了

可编译总是通不过是什么原因呢?
编译器gcc 3.4.2

2007-05-20 16:47
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
怎么会通不过呢?是不是代码的上下文有错?

还有问题弄出来,大家讨论!

Fight  to win  or  die...
2007-05-20 17:22
best218
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-5-18
收藏
得分:0 
回复:(aipb2007)怎么会通不过呢?[em01]是不是代码...
array.是类声明
array.cpp实现方法
fig11_08.cpp是测试主程序
2007-05-21 00:01
best218
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-5-18
收藏
得分:0 
上传的附件怎么看不到呢?
2007-05-21 00:03
快速回复:运算符重载
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015607 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved