Richard MacCutchan
Spreadsheet & Spreadsheet::operator+=(const Spreadsheet& rhs)
Ладно, давайте попробуем немного разбить это дело.
-
Spreadsheet &
: это говорит нам о том, что результатом работы этого оператора является ссылка на электронную таблицу (см. ниже).
-
Spreadsheet::operator+=
: это (повторное)определение
+=
оператор.
-
(const Spreadsheet& rhs)
правый параметр этого оператора является ссылкой (&) на постоянную электронную таблицу (const). Здесь & сообщает компилятору, что это ссылка на объект. В простых терминах ссылка похожа на указатель, но имеет некоторые дополнительные применения.
Таким образом, в общей сложности этот оператор берет ссылку на электронную таблицу, что-то делает с ней и возвращает новую ссылку, и будет вызван чем-то вроде:
Spreadsheet spreadSheet1 = new Spreadsheet();
// add some data to spreadsheet1
Spreadsheet spreadSheet2 = new Spreadsheet();
// add some data to spreadsheet2
spreadsheet1 += spreadsheet2;
// this will execute the code defined by the overloaded operator described above. The actual
// additions will depend on the programmer who writes the code. But after the operation
// spreadsheet1 will (most likely) contain additional information that comes from spreadsheet2.
Richard MacCutchan
И Карло, конечно, будет прав. Это не придирки, так как эти два совершенно разных животных; Спасибо, что указали на это.