C++에서 간단한 예제하나 해보고 있는 중인데요.
대략 현 상황이 class A, class B를 만들어놨습니다.
그리고 class B안에
private 멤버변수로 A *a[12];
이런 식으로 class A의 포인터 배열을 멤버 변수로 가지고 있습니다.
그래서 한개의 B클래스의 인스턴스에는 A클래스의 포인터가 12개 있고, 생성자에서 메모리 할당을 해줬습니다.
그런데 이게 갯수도 상수개가 존재하고 클래스 개념상 [](첨자 연산자)가 있으면 좋겠다 싶어서
class B의 public 멤버 변수로
A operator[](int _index) const{
if(index의 범위 판단)
return *a[_index];
}
이렇게 연산자 오버로딩을 해줬습니다.
그리고 main에서
B클래스의 인스턴스(b라고 부르겠습니다.)를 동적생성 한 후
[](첨자연산자)를 이용, b의 멤버변수 a에 접근해서