Scaling type Применение дружественных функций в данном случае целесообразно для того, чтобы иметь возможность передавать в оператор функцию объекты в любой последовательности. В этих операторах-функциях вначале создается временный объект типа матрица (с помощью конструктора копирования), в который копируется первая матрица и который при выходе из функции является возвращаемым объектом. Затем эта матрица суммируется (вычитается, умножается) с матрицей, стоящей после знака оператора по соответствующим правилам матричных операций. При этом для доступа к элементам матрицы и индексирования используются перегруженные операторы вызова функции operator( ) (dim x, dim x) и operator( ) (dim x). |