추상 클래스에 아래 첨자 연산자 ([])를 오버로드하려고하면 오버로드로 호출되는 함수가 구체적인 개체에 구현됩니다.오버로드 된 첨자 연산자에서 가상 함수 호출
는class CollectionBase {
public:
double& operator[] (const int nIndex)
{
return getValue(nIndex);
}
virtual double getValue(int index) = 0;
};
class Collection : public CollectionBase
{
double getValue(int index) { return 0; }
};
오전 데 문제는 내 컴파일러가 과부하에의 getValue 호출에 오류를 던지고 있다는 점이다.
아무도 내가 뭘하려고 오전의 구문을 알고 있나요
좌변을해야합니다 const가 아닌 참조의초기 값?
'operator []'에서'double'에 대한 참조를 반환하겠습니까? –