여기에 사용되는 개념은 배열 인덱스 연산자 오버로딩 ([] 연산자) 입니다.코드 보시죠 #include <iostream> using namespace std; class Array { int *m_arr; int m_size; int m_capacity; public: Array(int cap = 100) : m_arr(NULL), m_size(0), m_capacity(cap) { m_arr = new int[m_capacity]; } ~Array() { delete [] m_arr; } void add(int data) { if (m_size < m_capacity) { m_arr[m_size++] = data; } } int size() const { return m_size; } int operator[] (int idx) const { return m_arr[idx]; } }; int main() { Array arr(10); arr.add(10); arr.add(20); arr.add(30); for (int i = 0 ; i < arr.size() ; i++ ) { cout << arr[i] << endl; } return 0; } 처음에는 배열 인덱스 연산자 오버로딩은 어디에 쓰이나 했는데 여기에 쓰이네요!Array list도 같은 방식일테고요. 공유하기 게시글 관리 천천히, 빠르게. 개발자의 Repository 저작자표시 비영리