Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Как перегрузить operator[]


Автор: Tiarwe 21.10.2013, 23:50
Здравствуйте!
Подскажите, можно ли перегрузить оператор [] и как это правильно сделать? К примеру есть класс Foo, в котором есть массив data[10]. Мне нужно получить возможность обращаться к дате примерно так: foo[1], foo[9] и т.д.

Автор: feodorv 22.10.2013, 02:20
Код

class xxx {
  ...
  int& operator[] ( int );
  ...
};

int& xxx::operator[] ( int index )
{
  if( index < 0 || index >= 10 )
  {
    std::cerr << "Неверный индекс " << index << std::endl;
    exit( 1 );
  }
  return data[index];
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)