Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как перегрузить ()= для class... MAP(X,Y)=... ? 
V
    Опции темы
mes
Дата 23.6.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



У меня есть класс MAP
Подскажите пожалуйста, как в нем надо перегрузить операторы, чтоб стали коректными следующие строчки кода :


MAP (2,1)=5;

char c=MAP (1,1);


Спасибо заранее. smile  


--------------------
PM MAIL WWW   Вверх
skyboy
Дата 23.6.2006, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



а разве круглые скобки - это оператор? почему бы не использовать оператор указания индекса "[]"? 
PM MAIL   Вверх
Daevaorn
Дата 23.6.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(skyboy @  23.6.2006,  16:40 Найти цитируемый пост)
а разве круглые скобки - это оператор?

а что это тогда? пременная?smile


mes, 
Например так, возвращай ссылку:
Код

class Map
{
public:
    int& operator()( int x, int y )
    {
        return map_[ x ][ y ];
    }
private:
    int map_[ 10 ][ 10 ];
};

int main()
{
    Map map;
    map( 5, 5 ) = 234;
    int val = map( 2, 6 );
    return 0;
}
 
PM MAIL WWW   Вверх
mes
Дата 23.6.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



2Daevaorn: Спасибо! Именно так, как мне надо было smile
 


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.