Форум программистов, компьютерный форум CyberForum.ru

Перегрузка функций - C++

Восстановить пароль Регистрация
 
Spiderone
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 21
15.05.2012, 17:01     Перегрузка функций #1
Скажите пожалуйста с помощью каких операций можно перегружать функции? Спасиб!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 17:01     Перегрузка функций
Посмотрите здесь:

C++ Перегрузка функций в C++
Перегрузка функций C++
C++ перегрузка функций
перегрузка функций C++
C++ перегрузка функций
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
15.05.2012, 17:14     Перегрузка функций #2
Все очень просто. Пишем 2 функции с одинаковыми названиями, но разным количеством или типом переменных. И готово. Т.е., к примеру:
C++
1
2
3
float f(float x);
float f(int x);
float f(float x, float y);
Здесь у вас 3 функции, которые будут вызываться в зависимости от количества и типов аргументов. Если вы захотите вызвать первую из них с параметром целого типа, то напишите
C++
1
q=f((float) x)
Spiderone
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 21
15.05.2012, 17:18  [ТС]     Перегрузка функций #3
спасибо, но я не то хотел услышать. меня интересует объект класса, который получается в результате сложения двух других объектов этого же класса. так вот помимо сложения какие еще можно применять операции??
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
15.05.2012, 17:23     Перегрузка функций #4
Перегружать можно +, -, =, ==, ++, --, !=, >>, <<, (), [], *, /. Вроде ничего не забыл?
Кстати, и это называется перегрузка операторов в классе, а не перегрузка функций.

Добавлено через 25 секунд
А, еще > и <
Spiderone
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 21
15.05.2012, 17:26  [ТС]     Перегрузка функций #5
извините за безграмотность, новичек же))
Спасибо большое за ответ, он меня очень порадовал)))
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
15.05.2012, 17:28     Перегрузка функций #6
Пожалуйста
Spiderone
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 21
15.05.2012, 17:50  [ТС]     Перегрузка функций #7
кстати вдагонку, усли я пишу перегрузить сложения то в теле мне обязательно нужно складывать или я могу использовать другие операции?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2012, 19:36     Перегрузка функций
Еще ссылки по теме:

Перегрузка функций C++
C++ Перегрузка функций
C++ Перегрузка функций

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
15.05.2012, 19:36     Перегрузка функций #8
Spiderone, перегруженный оператор - обычная функция, только на некоторые виды операторов накладываются некоторые ограничения (вроде того, что оператор обязательно должен быть членом класса). Компилятор не в состоянии отловить логические ошибки в программе, он ведь туп, как пробка, это вам не искусственный интеллект. Поэтому будете вы в операторе сложения складывать, умножать, делить, вообще оставите его тело пустым - компилятору откровенно пофиг. Именно поэтому некоторые специалисты не жалуют перегрузку операторов, ведь если вы перегружаете оператор сложения так, что он будет умножать - вы запутываете и себя, и пользователей вашего кода.
Yandex
Объявления
15.05.2012, 19:36     Перегрузка функций
Ответ Создать тему
Опции темы

Текущее время: 02:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru