
#include class Rational { private: int chisl, znam; public: Rational() { chisl = 0; znam = 0; }
Rational(int a, int b) { chisl = a; znam = b; } void Mult(Rational x); Rational operator*(const Rational& x); void Write(); }; void Rational::Mult(Rational x) { chisl = chisl * x.chisl; znam = znam * x.znam; } Rational Rational:: operator*(const Rational& x) { Rational result; result.chisl = chisl * x.chisl; result.znam = znam * x.znam; return result; } void Rational::Write() { std::cout << chisl << "|" << znam << std::endl; } int main() { Rational n1(2, 3), n2(3, 2); Rational n3 = n1 * n2; n3.Write(); return 0; } В этом коде нужно передать результат операции умножения по значению.

Ответы на вопрос

Відповідь:
С++ code:
#include <iostream>
class Rational{
private:
int chisl, znam;
public:
Rational();
Rational(int, int);
Rational operator*(const Rational&);
friend std::ostream& operator << (std::ostream& out , const Rational& obj){
out << obj.chisl << "|" << obj.znam << std::endl;
}
};
Rational::Rational(){
chisl = 0;
znam = 0;
}
Rational::Rational(int chisl,int znam){
this->chisl = chisl;
this->znam = znam;
}
Rational Rational:: operator*(const Rational& obj){
Rational result;
result.chisl = chisl * obj.chisl;
result.znam = znam * obj.znam;
return result;
}
int main(){
Rational n1(2, 3), n2(3, 2);
Rational n3 = n1 * n2;
std::cout << n3 << std::endl;
return 0;
}



В вашем коде уже реализован оператор умножения (operator*
), который возвращает результат по значению. В этом операторе создается новый объект Rational
, который содержит результат умножения, и этот объект возвращается из оператора.
Использование оператора умножения в вашей функции main
следующее:
cppRational n1(2, 3), n2(3, 2);
Rational n3 = n1 * n2; // Вызывается оператор умножения, создается новый объект n3, содержащий результат.
n3.Write(); // Выводится результат на экран.
Таким образом, результат операции умножения n1 * n2
передается в переменную n3
по значению.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili