Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   Visual C++ / С/C++ (https://nowa.cc/forumdisplay.php?f=302)
-   -   Перегрузка оператора (https://nowa.cc/showthread.php?t=430928)

Gonzik2 04.03.2015 15:54

Перегрузка оператора
 
есть такой код:

Код:

class MyClass
{
...
        MyClass & operator += (const MyClass &v)
        {
            ...

            return (MyClass &)::operator += (*this, v);
        }
}

подскажите пожалуйста что делает строка:
return (MyClass &)::operator += (*this, v);

zss 21.03.2015 10:26

Re: Перегрузка оператора
 
Похоже, что operator+= у Вас выполнен рекурсивно.
Т.е. return (MyClass &)::operator += (*this, v); повторно вызывает +=.

Соответственно, чтобы он правильно работал, в коде где-то должен быть просто
return *this;

Gonzik2 04.04.2015 08:58

Re: Перегрузка оператора
 
Да, так и есть, в коде есть return *this. Спасибо огромное. Что-то я сразу не догнал.


Текущее время: 10:34. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.08130 секунды с 9 запросами