Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Перегрузка оператора >> для дочернего класса от базового виртуального класса - C++
Доброго вам времени суток! Программирую на С++ не давно, в связи с отсутствием должного времени на поиск ответа в глубинах учебников,...

Перегрузка оператора для класса - C++
Здравствуйте! Подскажите, пожалуйста, почему так не работает: class ClassA { public: ClassA() { m = 1; ...

Перегрузка оператора- для шаблона класса - C++
Ребят подскажите что не так я делаю или подтолкните в нужное русло =\ З.Ы. Массивы будем рассматривать одинаковой длины. #include...

Перегрузка оператора -> для шаблонного класса - C++
Здравствуйте! Возникла проблема: не могу додуматься как перегрузить оператор -> так, чтобы он корректно работал. Вот код: template<class...

Перегрузка оператора + для класса Date - C++
Здравствуйте! Как правильно перегрузить оператор +(Date, int) для класса Date, чтобы дата увеличивалась на нужное количество дней? При этом...

Перегрузка оператора == для класса, наследуемого от полиморфного - C++
Добрый день форумчане. Проблема такая: У меня есть класс Man, который имеет виртуальные функции чтения из файла и вывода на консоль. Есть...

4
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 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()
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,592
21.01.2014, 21:00 #3
operator()
И посмотрите там еще ссылочку на статейку полезную (себя не похвалишь - никто не похвалит, проталкиваю её в массы )
0
goodjob
1 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 73
22.01.2014, 21:16  [ТС] #4
Цитата Сообщение от Jupiter Посмотреть сообщение
от контекста же
C++
1
obj(); //вызов оператора ()
C++
1
Foo obj(); //декларация функции
C++
1
Foo obj; //создание объекта и вызов конструктора по умолчанию
Добавлено через 1 минуту

operator()
ну например мы создали в классе конструктор с двумя параметрами, и оператор () также с двумя параметрами, осуществили вызов (например s1(n,m)), что именно будет вызвано или где тут ошибка?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,592
22.01.2014, 21:23 #5
Цитата Сообщение от goodjob Посмотреть сообщение
осуществили вызов (например s1(n,m)), что именно будет вызвано или где тут ошибка?
C++
1
2
3
Classname s1(n, m); // вызов конструктора Classname
Classname s2;
s2(n, m); // вызов оператора с двумя параметрами
1
22.01.2014, 21:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2014, 21:23
Привет! Вот еще темы с ответами:

Перегрузка оператора >> для пользовательского класса String - C++
Объявление класса: class String { public: //constructor String( const char * = NULL ); //default constructor String( const...

Перегрузка оператора '+' для char* вне класса - C++
Хочу перегрузить конкатенацию массивов char'ов через операцию '+'. Не могу понять, возможно ли запустить следующую конструкцию, подправив...

Перегрузка оператора равно для класса файла - C++
Доброго времени суток. Помогите разобраться с перегрузкой. Идея в том, чтобы экземпляр класса создавал иллюзию работы с массивом. Т.е. ...

Перегрузка оператора + для сложения двух экземпляров класса - C++
#include "stdafx.h" #include "conio.h" #include <iostream> #include <clocale> using namespace::std; class str_type{ char...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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