Главная arrow Программирование С++ arrow функции перегрузки операций класса RangeArray

функции перегрузки операций класса 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