Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Переопределение операции индексирования

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
ttf32



Зарегистрирован: 05.05.2003
Сообщения: 2

СообщениеДобавлено: Пн Май 05 2003 12:36    Заголовок сообщения: Переопределение операции индексирования Ответить с цитатой

Народ, подскажите, кто знает, как организовать доступ к элементам двумерного массива через переопределение операции индексирования.
Надо создать обьект по поведению, с точки зрения остальной программы, походящий на двумерный массив.
(случай разреженного массива)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Борис
Гость





СообщениеДобавлено: Пн Май 05 2003 17:46    Заголовок сообщения: По стандарту C++ функция operator[]() принимает только один аргумент, также как другие операторные функции принимают столько ар Ответить с цитатой

поэтому определи и используй вместо индексного обозначения "имя_массива[i, j]" функцию -- "имя_массива_индекс(i, j)".

PS. Можно еще переписать компилятор Smile
Вернуться к началу
Борис
Гость





СообщениеДобавлено: Пн Май 05 2003 18:13    Заголовок сообщения: Конечно, я имел ввиду, что один аргумент для переопределения, в действительности она принимает два аргумента -- адрес и индекс, Ответить с цитатой

-
Вернуться к началу
ugz
Гость





СообщениеДобавлено: Пн Май 05 2003 20:02    Заголовок сообщения: Можно сделать и через вспомогательный класс. (+) Ответить с цитатой

Что-то типа:

class array
{
...

class row
{
...

int operator [] (int index);

...
};

row operator [] (int index);
...

};

и
array a;
a[y][x]; - будет работать.
Вернуться к началу
ttf32



Зарегистрирован: 05.05.2003
Сообщения: 2

СообщениеДобавлено: Вт Май 06 2003 17:56    Заголовок сообщения: Re: Можно сделать и через вспомогательный класс. (+) Ответить с цитатой

Спасибо, о вспомогательном классе я не подумал...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...