![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Dr.Wisdom |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 6.1.2005 Репутация: нет Всего: 0 |
Че мне перегружать чтобы обращаться как к трехмерному массиву?
float operator[][][](float,float,float) - то что призодит в голову. --------------------
VIVA LA RESISTANCE |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
чтобы была возможна такая запись можно сделать так:
CSomeClass &operator[](float); а в CSomeClass: CAnotherClass &operator[](float); а в CAnotherClass: float operator[](float) Добавлено @ 18:27 P.S. сам не пробовал -------------------- qqq |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
maxim1000
Прав. В Си существуют только одномерные массивы. -------------------- Да. Именно так. |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Элджер по-моему предлагает в качестве альтернативы использовать
operator[] (Index3 idx) где Index3 -
соответственно и используется для индексации. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
так неинтересно... придется писать qqq[Index3(0,1,2)] и то, если конструктор написать... кстати, по-моему, можно перегрузить () на несколько аргументов а []? (так чтобы их через запятую писать...) -------------------- qqq |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
АФАИР нельзя. Сработает operator,. То есть myvector[3,4] преобразуется myvector[4] Добавлено @ 21:09 кстати. Можно перегрузить operator, чтоб он возвращал объект типа Index Это сообщение отредактировал(а) Mayk - 7.10.2005, 21:09 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
для этого хотя бы один из аргументов должен быть "нашего" типа... просто для int'ов, по-моему не получится... -------------------- qqq |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Оператор [] действительно нельзя нагрузить больше чем одним аргументом, зато оператор () можно.
И пишите себе Massiv(3,5,10) на здоровье. По-моему, это гораздо удобнее, чем Massiv[3][5][10]. -------------------- ... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |