[]를 연산자오버로딩하는 예제의 일부인데요.
public:
ACCOUNT_PTR& operator[] (int idx);
ACCOUNT_PTR operator[] (int idx) const;
ACCOUNT_PTR& BoundCheckAccountPtrArray::operator[] (int idx)
{
if(idx<0 || idx>=arrlen)
{
cout<<"Array index out of bound exception"<<endl;
exit(1);
}
return arr[idx];
}
ACCOUNT_PTR BoundCheckAccountPtrArray::operator[] (int idx) const
{
if(idx<0 || idx>=arrlen)
{
cout<<"Array index out of bound exception"<<endl;
exit(1);
}
return arr[idx];
}
저 두 함수가 const와 반환형만 조금 다르고 나머지는 같은데 어떻게 구분되고 있는 건가요?