9 / 9 / 1
Регистрация: 19.12.2011
Сообщений: 35
|
|
1 | |
Перегрузка операторов14.04.2012, 11:40. Показов 3053. Ответов 10
Метки нет (Все метки)
Добрый день! Интересует перегрузка операторов(--, !=, <<). Мне когда-то преподаватель объяснял через TPoint , но к сожалению забыл. Помогите реализовать перегрузку вышеуказанных операций(простой перегрузкой первые два(--,!=). Компонентной последнюю(<<) ). Заранее спасибо.
P.S Наработок нет, так как даже не знаю с чего начать даже
0
|
14.04.2012, 11:40 | |
Ответы с готовыми решениями:
10
Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this Перегрузка операторов Перегрузка операторов Перегрузка операторов |
267 / 256 / 23
Регистрация: 04.04.2012
Сообщений: 546
|
|||||||||||
14.04.2012, 12:11 | 2 | ||||||||||
Ну, первые два:
1
|
9 / 9 / 1
Регистрация: 19.12.2011
Сообщений: 35
|
|||||||||||
14.04.2012, 12:38 [ТС] | 3 | ||||||||||
Помоему, тогда перегрузка -- будет так же, как и ++, только делать другую операцию...
0
|
267 / 256 / 23
Регистрация: 04.04.2012
Сообщений: 546
|
|
14.04.2012, 12:45 | 4 |
Ну, ты писал, что последнюю - компонентой, а я так не умею
0
|
9 / 9 / 1
Регистрация: 19.12.2011
Сообщений: 35
|
|
14.04.2012, 12:48 [ТС] | 5 |
Читай выше.компонентной функцией – операция (реализуется внутри класса), в виде простой функции – операции (реализуется вне класса).
В условие if(...) ставить равенство переменных?
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
14.04.2012, 13:09 | 6 |
Для какого класса? Как его зовут, какие поля имеет, какова их семантика, что должно происходить при декременте, как хочешь сравнивать, в каком формате выводить (или это оператор сдвига?)? В случае, например, вектора можно сравнивать модули (длины) векторов, орты (единичные векторы, характеризующие направление), а можно одновременно то и другое. Вектор может быть представлен как в декартовых, так и в полярных, сферических и даже цилиндрических координатах, что также влияет на текст сравнения. А может надо реализовать сравнение полярных векторов с декартовыми? Или цилиндрических со сферическими? А декремент вектора, это сокращение модуля (длины), или поворот на некоторый угол? Если поворот, то по какой оси? И что такое простая и компонентная перегрузка? На сколько мне известно, вообще нет таких терминов. А может у тебя комплексные числа? Они тоже могут быть алгебраическими и тригонометрическими, что меняет текст сравнения. И могут сравниваться по модулю, по углу, по действительной части, по мнимой, или целиком. А может надо реализовать сравнение алгебраических с тригонометрическими? Или у тебя строки? Длинные арифметика? Какая: целочисленная, или дробная? А может векторные рисунки? Или звуковые треки? Надо сравнить голоса? Или слова? Или это программы на php и надо сравнить их на эквивалентность? А декремент - удаление последнего оператора? Или строки? Математические выражения? В какой нотации?
0
|
9 / 9 / 1
Регистрация: 19.12.2011
Сообщений: 35
|
|
14.04.2012, 13:57 [ТС] | 7 |
Меня интересует простая перегрузка операторов... -- инкремент; != сравнение двух чисел. << - сдвиг, к примеру: b=a<<3 . Никаких наворотов. Езе раз повторюсь, простейшая перегрузка операторов. Ну может так наш преподаватель выражается... Но суть в этом: простая : выполняется вне класса; компонентная : выполняется в самом классе.
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
||||||
14.04.2012, 14:43 | 8 | |||||
1
|
zss
|
14.04.2012, 20:44
#10
|
0
|
9 / 9 / 1
Регистрация: 19.12.2011
Сообщений: 35
|
|
18.04.2012, 17:49 [ТС] | 11 |
Помогите реализовать это:через указанные выше операторы надо:1) присвоить полям объекта "а" поля предыдущего по списку объекта; 2)Если В.[кол-во]!=C[кол-во], то А=В+С, иначе А=0;
3)A.[name]=(B.[name]<<C.[name](на кол-во символов объекта "С" поля name)); A.[maker]=B.[maker]; A.[sell]=B.[sell]; Как я понял , надо в классе создать в private sell, name,maker . Объявить конструктор закинуть данные в эти переменные(через this->), сделать массив класса(для первого). И дальше оперировать с этими данными? Буду очень благодарен.
0
|
18.04.2012, 17:49 | |
18.04.2012, 17:49 | |
Помогаю со студенческими работами здесь
11
Перегрузка операторов C++ перегрузка операторов Перегрузка операторов Перегрузка операторов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |