免费注册 查看新帖 |

Chinaunix

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

两个TOP构成重载吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-23 00:32 |只看该作者 |倒序浏览
#include <stack>
template <class T, class Container = deque<T> >
class stack
{
public:
  // Constructor
  explicit stack(const Container& c = Container());
  bool empty() const;
  size_type size() const;
value_type& top();
const value_type& top() const;  
void push(const value_type& t);
  void pop();
};


问一下, 上面的两个TOP构成重载吗?

谢谢。

论坛徽章:
0
2 [报告]
发表于 2008-01-23 14:36 |只看该作者
不。因为参数都一样。

论坛徽章:
0
3 [报告]
发表于 2008-01-23 15:28 |只看该作者
原帖由 namtso 于 2008-1-22 22:36 发表
不。因为参数都一样。


不要误导啊。

论坛徽章:
0
4 [报告]
发表于 2008-01-23 18:34 |只看该作者
算是C++的重载吧

论坛徽章:
0
5 [报告]
发表于 2008-01-23 19:44 |只看该作者
The return types can be the same or different on overloaded functions. You should note that two functions with the same name and parameter list, but different return types, generate a compiler error.


被重载函数的返回类型可以相同也可以不同。需注意的是,假如两个函数的名称与参数列表均一致然而返回类型不同的话,这就是个编译错误。

可以知道,在这里的这两个函数既不属于重载也不属于重置,而是错误的写法。

详见:http://newdata.box.sk/bx/c/htm/ch05.htm#Heading36

论坛徽章:
0
6 [报告]
发表于 2008-01-23 21:54 |只看该作者
原帖由 langue 于 2008-1-23 19:44 发表


被重载函数的返回类型可以相同也可以不同。需注意的是,假如两个函数的名称与参数列表均一致然而返回类型不同的话,这就是个编译错误。

可以知道,在这里的这两个函数既不属于重载也不属于重置,而是错误 ...



谢谢版主回复。

不过版主可能没有看清: 两个函数一个是const, 一个是non const, 所以是overload。

论坛徽章:
0
7 [报告]
发表于 2008-01-23 23:00 |只看该作者
原帖由 lc1999 于 2008-1-23 21:54 发表



谢谢版主回复。

不过版主可能没有看清: 两个函数一个是const, 一个是non const, 所以是overload。


谢谢你的提醒。我确实没有注意后面那个 const。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP