функции перегрузки операций класса RangeArray |
В листинге 8.1 есть три функции-члена для перегрузки операций, определенные в классе RangeArray. Первые две, приведенные далее, используются для перегрузки операции индексирования []. // Возвращает ссылку на заданный элемент. Т &operator[](int i) { return arrayptr[i - lowerbound]; } // Возвращает константные ссылки на заданный элемент. const T &operator[](int i) const { recurn arraypcr[i - lowerbound]; > Для полностью сформированного контейнера нужны обе версии операции индексирования; константная и неконстантная. Приведенные функции обеспечивают механизм индексирования объекта типа RangeArray. Обратите особое внимание на способ индексирования массива, заданного указателем arrayptr. Помните, что arraypcr указывает на стандартный массив языка С++. Следовательно, индекс, передаваемый в переменной i, следует для этого массива преобразовать в индекс с отсчетом от нуля. Напоминаю, что поле lowerbound содержит наименьшее значение индекса объекта RangeArray. Таким образом, для получения индекса с отсчетом от нуля из i
|