Работа перегрузки операторов

330
08 января 2017, 17:57

Объясните, как работает функция перегрузки операторов? Какие новые объекты создаются в этот момент? Как работает указатель this?

Answer 1

Оператор - это точно такая же функция, как и любая другая, только с определенным заранее приоритетом и количеством аргументов. Так что

class X {
    X& operator + (int y);

по сути ничем не отличается от

class X {
    X& add(int y);

Только и того, что можно написать

x.add(5);

а можно

x + 5;

или

x.operator+(5);

Объекты создаются ровно те, которые вы укажете создать. А this, как и всегда, имеет смысл только в операторе-члене и указывает на объект класса, для которого вызван оператор.

READ ALSO
OpenCv вывод данных

OpenCv вывод данных

Подскажите как получить значения пикселя для cv::Mat

319
pjsua2 pjsip первые шаги

pjsua2 pjsip первые шаги

необходимо совершать звонки на аппарат(cisco303) решил используя стандартную демо программу из набора библиотеки pjsua2 протестировать воспроизведение...

604
C++ скачивание строки

C++ скачивание строки

Я хочу сделать свое приложения более нативное, чистое - без использования сторонних библиотекПоявилась задача скачать строку

317
Переименование файлов

Переименование файлов

Как сделать такое задание: Перед каждым именем файла (regular file) вставить его номер (1, 2, 3 и тд

557