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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
goodjob
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 71
#1

Перегрузка оператора ( ) для объектов класса - C++

21.01.2014, 20:23. Просмотров 321. Ответов 4
Метки нет (Все метки)

Здравствуйте!
перегрузили оператор (). Каким образом компилятор поймет где мы вызываем оператор (), а где , например, конструктор? каким образом вообще перегружается оператор()?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2014, 20:23     Перегрузка оператора ( ) для объектов класса
Посмотрите здесь:

Перегрузка оператора вывода на консоль для шаблонного класса C++
Перегрузка оператора- для шаблона класса C++
C++ Перегрузка оператора '+' для char* вне класса
C++ Перегрузка "оператора +" для сложения массива объектов
C++ Перегрузка оператора индексации для класса плохо себя ведёт
C++ Перегрузка оператора >> для пользовательского класса String
C++ Перегрузка оператора + для сложения двух экземпляров класса
Перегрузка оператора равно для класса файла C++
C++ Перегрузить operator<<() для шаблонного класса (перегрузка оператора вывода)
C++ Перегрузка оператора для класса
Перегрузка оператора + для класса Date C++
C++ Перегрузка оператора ввода для класса с динамическими данными

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6550 / 3970 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.01.2014, 20:33     Перегрузка оператора ( ) для объектов класса #2
Цитата Сообщение от goodjob Посмотреть сообщение
Каким образом компилятор поймет где мы вызываем оператор (), а где , например, конструктор?
от контекста же
C++
1
obj(); //вызов оператора ()
C++
1
Foo obj(); //декларация функции
C++
1
Foo obj; //создание объекта и вызов конструктора по умолчанию
Добавлено через 1 минуту
Цитата Сообщение от goodjob Посмотреть сообщение
каким образом вообще перегружается оператор()?
operator()
MrGluck
Ворчун
Эксперт CЭксперт С++
6658 / 3849 / 508
Регистрация: 29.11.2010
Сообщений: 10,190
21.01.2014, 21:00     Перегрузка оператора ( ) для объектов класса #3
operator()
И посмотрите там еще ссылочку на статейку полезную (себя не похвалишь - никто не похвалит, проталкиваю её в массы )
goodjob
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 71
22.01.2014, 21:16  [ТС]     Перегрузка оператора ( ) для объектов класса #4
Цитата Сообщение от Jupiter Посмотреть сообщение
от контекста же
C++
1
obj(); //вызов оператора ()
C++
1
Foo obj(); //декларация функции
C++
1
Foo obj; //создание объекта и вызов конструктора по умолчанию
Добавлено через 1 минуту

operator()
ну например мы создали в классе конструктор с двумя параметрами, и оператор () также с двумя параметрами, осуществили вызов (например s1(n,m)), что именно будет вызвано или где тут ошибка?
MrGluck
Ворчун
Эксперт CЭксперт С++
6658 / 3849 / 508
Регистрация: 29.11.2010
Сообщений: 10,190
22.01.2014, 21:23     Перегрузка оператора ( ) для объектов класса #5
Цитата Сообщение от goodjob Посмотреть сообщение
осуществили вызов (например s1(n,m)), что именно будет вызвано или где тут ошибка?
C++
1
2
3
Classname s1(n, m); // вызов конструктора Classname
Classname s2;
s2(n, m); // вызов оператора с двумя параметрами
Yandex
Объявления
22.01.2014, 21:23     Перегрузка оператора ( ) для объектов класса
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru