读书人

为啥加了这个const就能重载

发布时间: 2013-06-26 14:29:32 作者: rapoo

为什么加了这个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

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

签名不一样才能重载啊

读书人网 >C++

热点推荐