나는 콜렉션 클래스를 작성하고있다. 컬렉션의 요소에 액세스 할 수 있도록 대괄호 연산자 ([])를 오버로드하고 싶습니다.대괄호 오버로드 값을 받아들이는 연산자
int operator[](int i)
{
// Do stuff here
}
내 문제는 내가 값을 받아이 연산자를 사용할 수 있도록이를 작성하는 방법을 볼 수 없다는 것입니다 :
myClassInstance[0] = value;
내가와 대괄호 연산자를 선언 할 수있는 방법을 볼을 추가 인수 (요소에 할당 할 값).
나는 간단히 int &을 반환 할 수 있으며 호출자는 값을 할당 할 수 있지만 내부적으로 각 요소는 공개 된 것과 다른 형식으로 저장된다는 것을 알고 있습니다.
이것도 가능합니까?
두 개의 연산자 [] (INT) 버전이 필요합니다. const 버전과 당신이 요청한 non-const 버전. 원래 버전은 const 객체를 호출하기 위해 const 뒤에 있어야합니다. –
@ 에드윈 : 귀하의 다른 의견을 보았습니다. 나는 그것을 줄 것이다. 감사. –