если у меня есть перегрузка оператора в моем классе, также неявно создана версия назначения оператора?Операторы неявного присваивания [C++]
class square{
square operator+(const square& B);
void operator=(const square& B);
};
Как и в, можно затем вызвать
square A, B;
A += B;
с компилятор неявно решив назвать 'оператор +', то 'оператор ='?
Перегрузка оператора - один из лучших способов сделать код нечитаемым. Согласно [Руководству по стилю Google C++] (http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Operator_Overloading): «В общем, не перегружайте операторов. Вы можете определить обычные функции, такие как Equals () если они вам нужны. – msw
Это гораздо приятнее, хотя при создании классов, которые должны использоваться для представления чисел, чтобы читать код в знакомом формате, это вопрос; A = A.add (B) .div (C).mul (D) vs A = (A + B)/C * D – user4578093