首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为啥加了这个const就能重载

2013-06-26 
为什么加了这个const就能重载iterator begin(){return iterator(head-next)}const_iterator begin()cons

为什么加了这个const就能重载

iterator begin()
{
return iterator(head->next);
}

const_iterator begin()const
{
return const_iterator(head->next);
}

const_iterator begin()const
最后那个const,我知道是指this指针为const,但是为什么不加这个const编译重载就会报错,加了就没问题呢?
[解决办法]
const 重载呀

C++中允许const重载:
class People{
public:
int add(int a , int b){
    return a - b;
}
int add(int a , int b)const{
    return a + b;
}
};

People p = People();      p.add(5,4); -->结果为1
const People p = People();  p.add(5,4); -->结果为9

[解决办法]
函数签名不包括返回值

签名不一样才能重载啊

热点排行