Функция 1 может быть записана внутри класса как функция-член, но функция 2 должна быть записана как функция, не являющаяся членом, поскольку левая сторона не IntMatrix
.
Я бы Предлагаем написать operator+=
, который принимает int
в качестве функции-члена. Затем вы можете легко вызвать это из обоих operator+
, которые вы можете записать как не-члены.
Итак, ваш operator+
(как не-члены) будет выглядеть так:
IntMatrix operator+(IntMatrix matrix, int scalar) {
return matrix += scalar;
}
IntMatrix operator+(int scalar, IntMatrix matrix) {
return matrix += scalar;
}