Здесь несколько проблем с вашим кодом.
Вы получаете ошибки из этой строки и строк сразу после нее
a.Denominator = rhs.Denominator * lhs.Denominator;
Есть два основные проблемы здесь.
- Вы пытаетесь присвоить значение члена метод вместо его вызова
- Даже если вы вызвали его, вы пытаетесь назначить значение возвращаемого
const
int
Первую проблему можно решить, просто добавив скобки к вызову метода a.Denominator()
, однако вторая ошибка более сложный. Если вы хотите изменить значение a.den (что, я думаю, именно то, что вы пытаетесь сделать), вам нужно написать второй acessor, который можно использовать для установки значения.
void Denominator(int denominator){
den = denominator
}
Затем позвоните по номеру a.Denominator(/* My new value of a.den */)