[x] Если сделали свойство determinant частью состояния матрицы, то оно должно быть всегда актуальным. Сейчас после изменения элементов матрицы будет возвращаться ранее вычисленный детерминант. Справедливо как для 2x2, так и 3x3
[x] Программа не соответствует принятому стилю кодирования. Ознакомьтесь с правилами именования переменных, функций, классов, расстановкой скобок, знаков препинания и отступов.
[ ] объекты следует передавать по константной ссылке, если функция не модифицирует их состояние.
Примитивные объекты передавать по константной ссылке выгоды нет, лучше по значению