2025/06/22 2

8. 연산자 오버로딩 (10) - 첨자 연산자 오버로딩

Subscript([ ]) operator overloading◆ 첨자 연산자 오버로딩에서 고려해야 할 점 ● 첨자 연산자 오버로딩에서 배열에 대한 복사 생성 허용 여부의 결정이 필요 ☞ 허용하지 않고 싶을 경우 아래와 같이 해상 생성자를 private 선언 또는 delete로 접근 불가능하게 한다.private: Point* arr; int arr_len;public: PointArr(const PointArr &arr) {} // private 복사 생성자 PointArr& operator=(const PointArr &arr) {} // private 대입 연산자 혹은private: Point* arr; int arr_len;public: PointArr(const..

C++/C++ : Study 2025.06.22

8. 연산자 오버로딩 (9) - 첨자 연산자 오버로딩

Subscript([ ]) operator overloading◆ 첨자 연산자 오버로딩 ● [ ] 연산자 ● 멤버 함수로 오버로딩 필요 ☞ (복습) [ ] , ( ) , -> , = 와 같은 몇몇 연산자는 멤버 함수로만 오버로딩 가능 ● 경계 검사 등 기능 확장을 위해 용이하게 사용된다📘 첨자 연산자 오버로딩 (operator[])✅ 개요[] 연산자는 배열처럼 객체에 인덱스로 접근할 수 있게 해주는 연산자이다.obj[i] → obj.operator[](i) 로 해석된다.✅ 오버로딩 목적단순한 배열 접근뿐만 아니라,👉 경계 검사, 읽기/쓰기 분리, 로깅, 데이터 가공 등 기능 확장이 가능하다.특히 클래스 내부에서 포인터나 배열을 관리할 때 매우 유용하다.✅ 반드..

C++/C++ : Study 2025.06.22