Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2012, 22:55   #1
McToNy
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 14
По умолчанию Перегрузка

даны две перегрузки:
1. постфиксная для ++ чтобы прибавить 1 к height и к width
Цитата:
Rectang & operator ++(int)
{height++;
width++;
return *this;}
2. Для +=, складываем width и height
Цитата:
const Rectang& operator+=(const Rectang &R)
{ width=width +R.width:
heigh=height+R.height;
return *this;}
Далее преподаватель вычеркивает последние строчки и меняет начало:

Цитата:
void operator ++(int)
{height++;
width++;
}

void operator+=(const Rectang &R)
{ width=width +R.width:
heigh=height+R.height;
}
задает вопрос:что изменится?
отвечаю:нельзя будет вызывать оператор несколько раз

Далее говорит,напиши пример в 1-2 строчки как я это понимаю.(не обязательно программой)

Что он имеет ввиду никак не пойму, может кто нибудь поймет и подскажет?)заранее спасибо)
McToNy вне форума Ответить с цитированием
Старый 14.12.2012, 23:32   #2
McToNy
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 14
По умолчанию

откликнитесь кто-нибудь!
McToNy вне форума Ответить с цитированием
Старый 14.12.2012, 23:37   #3
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от McToNy Посмотреть сообщение
откликнитесь кто-нибудь!
Плюсую!!! Самому интересно!!!
Suby вне форума Ответить с цитированием
Старый 14.12.2012, 23:39   #4
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от McToNy Посмотреть сообщение
отвечаю:нельзя будет вызывать оператор несколько раз
Не понял, при чем тут это?
Suby вне форума Ответить с цитированием
Старый 14.12.2012, 23:43   #5
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

а скормить это компилятору и посмотреть не вариант?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 14.12.2012, 23:45   #6
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
а скормить это компилятору и посмотреть не вариант?
А что толку? Вариант преподователя катит, как альтернативный... Компиль ругаться не должен.
Suby вне форума Ответить с цитированием
Старый 14.12.2012, 23:45   #7
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

откликаюсь.
1. постфиксный оператор должен возвращать старый объект, до инкремента.
2.
Цитата:
задает вопрос:что изменится?
нельзя будет использовать операцию инкремента внутри каких-либо выражений. на самом деле, как говорится, объяснять такое вредно.
оператор - обычная функция. представь, что у тебя есть функция foo, возвращающая int. т.е ты мог написать foo() + foo(), bar(foo()), и тп. меняешь возвращающее значение на void - не сможешь так написать.

вопрос из серии: было 2 + 2, поменяли на 2 - 2. спрашивается, что изменится и как ты это понимаешь.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 14.12.2012, 23:57   #8
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Далее говорит,напиши пример в 1-2 строчки как я это понимаю.(не обязательно программой)

Что он имеет ввиду никак не пойму, может кто нибудь поймет и подскажет?)заранее спасибо)
Имеет в виду написать пример в 1-2 строчки, который, как Вы понимаете, "нормально" бы работал до его изменений, а изменения бы его поломали. Натурально, кроме Вас и потомственных телепатов такой пример написать никто не сможет.

И перегрузка постфиксного инкремента у Вас "неправильная", кстати: принято, что постфиксный инкремент возвращает объект до инкремента.
Abstraction вне форума Ответить с цитированием
Старый 15.12.2012, 09:25   #9
McToNy
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 14
По умолчанию

pproger спасибо большое, очень выручили)
McToNy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка MoNsTeRmEn Общие вопросы C/C++ 2 20.11.2012 10:43
[C++]перегрузка Nadinka______ Помощь студентам 3 13.09.2011 19:16
C++ Перегрузка GLAM1 Помощь студентам 3 31.03.2011 21:09
Перегрузка в C++ Паыел Общие вопросы C/C++ 0 07.12.2010 16:26
перегрузка DRELORD Помощь студентам 1 22.04.2010 09:54