Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
#1

Оператор индексирования как утилита - C++

14.02.2011, 18:31. Просмотров 831. Ответов 3
Метки нет (Все метки)

Нужно сделать оператор индексирования (operator[]) утилитой, тоесть вне класа. Не знаю зачем пока, но сделать надо.
Можете мне объяснить как он правильно принимает параметры? И нужно ли делать модификатор-селектор отдельный, для того, что бы его использовала утилита, если допустим клас наш выглядит вот так
C++
1
2
3
4
5
class IndexedVarVector
{
private:
    size_t _n;
    double * _v;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2011, 18:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор индексирования как утилита (C++):

Оператор индексирования [] С++ - C++
Я перегрузил оператор индексирования таким образом: float* operator (unsigned int i){return arr;} я не уверен в том что я корректно...

Односвязный список и оператор индексирования [] - C++
Помогите разобраться, как сделать оператор доступа по индексу для односвязного спика. Объявление: class TMyObject() { }; ...

Класс для работы с матрицами - Что дает перегруженный оператор индексирования? - C++
Есть работающая программа, которая имеет: конструктор с параметрами, который заполняет матрицу псевдослучайными числами конструктор...

перегрузка индексирования - C++
на пример как перегрузить оператор индексирования с 2-мя параметрами: f

Перегрузка оператора индексирования - C++
Собсно код с книжки списал. Понятно что данный класс на векторе построен (понятно, что можно на основе любого контейнера зафигачить),...

Перегрузка оператора индексирования - C++
Что-то не выходит каменный цветок. Определение класса: struct TEventData { char strComputerName; }; class TEventDataSet { ...

3
silent_1991
Эксперт С++
4993 / 3051 / 149
Регистрация: 11.11.2009
Сообщений: 7,038
Завершенные тесты: 1
14.02.2011, 18:42 #2
Mee, что вы под термином "утилита" подразумеваете? В смысле надо перегрузить оператор взятия индекса не как метод класса? В таком случае нужно использовать функцию-друга. В остальном перегружается аналогично методу.

Добавлено через 3 минуты
Ах ты чёрт, нет, не получится вне класса перегрузить... operator[] должен быть членом класса обязательно...
0
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
14.02.2011, 19:01  [ТС] #3
я тоже так думал, но на паре возник спор с преподавателем и он задал задание реализовать как утилиту
0
silent_1991
Эксперт С++
4993 / 3051 / 149
Регистрация: 11.11.2009
Сообщений: 7,038
Завершенные тесты: 1
14.02.2011, 19:06 #4
Mee, это не вы так думали, это так и есть. Есть группа операторов, перегруженная версия которых обязательно должна быть методом класса, и оператор индексации в их число входит.
0
14.02.2011, 19:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2011, 19:06
Привет! Вот еще темы с ответами:

Перегрузка индексирования строками - C++
Пишу динамический массив, состоящий из строк. Возможно ли перегрузить оператор индексирования для строк? Т.е. чтобы можно было писать не...

Перегрузка оператора индексирования - C++
Всем привет! Ситуация такая - есть 2 класса, поле одного класса является массивом из элементов второго класса. Необходимо переопределить...

Оператор break как оператор go to next - C++
Подскажите, в этом примере break эквивалентна действию оператора go to next?

Как перегрузить оператор<< и оператор>> ? - C++
Доброго времени суток. Застрял на двух вопросах и не как не могу найти инфу которвя мне помогла бы их решить. вопрос первый. В общем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.