한 가지에 대해 궁금합니다. 1 오버로드 된 멤버 함수가있는 클래스가 있습니다.함수 내부에 오버로드 된 버전을 호출하십시오.
class A{
public:
class const_iterator{};
class iterator : public const_iterator{};
iterator find(const K &key);
const_iterator find(const K &key) const;
};
Ad. iterator는 const_iterator를 상속하지만 아무 것도 추가하지 않습니다.
내가 원하는 것은 정상적인 호출 찾기 const 찾기입니다. 다음과 같은 것 :
typename A::iterator A::find(const K &key){
const_iterator it(find(key));
return (*(iterator*)&it);
}
비 const 찾기 ATM을 구현할 필요가 없습니다. 이런 식으로 할 수 있습니까? 왜냐하면 이제는 무한 루프에 빠지기 때문에 찾기 전에 "A ::"를 추가하면 아무것도 바뀌지 않기 때문입니다.
가능한 복제본 : http://stackoverflow.com/questions/123758/how-do-i-remove-code-duplication-between-similar-const-and-non-const-member-func –