, пожалуйста, простите меня, если это сбивает с толку, потому что я новичок в C ++ (или любом другом языке программирования). У меня есть эта строка кода в моем задании, но когда я пытаюсь запустить программу, я получаю сообщение об ошибке (a+b).double()
, в котором говорится, что ни один оператор не соответствует операнду +. Я считаю, что сделал что-то не так.
#include<iostream>
#include<math.h>
class fraction {
private:
signed int numerator;
signed int denominator;
public:
fraction(signed int a, signed int b);
double getDecimal() {
return 1.00*numerator / denominator;
}
};
fraction::fraction(signed int a, signed int b) {
numerator = a;
denominator = b;
}
int main() {
fraction a(1, 2);
fraction b(3,2);
std::cout << a.decimal() << "\n!" << b.decimal << "\n!";
std::cout << (a+b).getDecimal();
}
(a+b).getDecimal()
должен возвращать 2
. как заставить код работать без изменения части (a+b).getdecimal()
?