• Предмет: Информатика
  • Автор: lolikonchik22812
  • Вопрос задан 1 год назад

Задание на С++

Разработайте и протестируйте класс Rational, представляющий рациональное число (простую дробь )в виде пары целых чисел: числитель и знаменатель. Определите стандартный конструктор, конструктор с параметрами и операцию умножения двух дробей. Передачу параметра в метод организуйте по указателю, передачу результата - по значению. При разработке метода используйте переопределение операции умножения. Данные класса описать со спецификатором private.

Ответы

Ответ дал: nazikmuz
1

Відповідь:

C++ code:

#include <iostream>

class Rational{

private:

int num;

int den;

public:

Rational();

Rational(int,int);

Rational(const Rational&);

~Rational() = default;

void set_num(int);

void set_den(int);

int get_num();

int get_den();

Rational& operator * (const Rational&);

friend std::ostream& operator <<(std::ostream& out,const Rational& obj){

 out << obj.num << "/" << obj.den << std::endl;

 return out;

}

};

Rational::Rational(){

num = 1;

den = 1;

}

Rational::Rational(int num,int den){

this->num = num;

this->den = den;

}

Rational::Rational(const Rational& object){

this->num = object.num;

this->den = object.den;

}

void Rational::set_den(int den){

this->den = den;

}

void Rational::set_num(int num){

this->num = num;

}

int Rational::get_den(){

return this->den;

}

int Rational::get_num(){

return this->num;

}

Rational& Rational::operator *(const Rational& obj){

Rational out;

out.num = this->num * obj.num;

out.den = this->den * obj.den;

return out;

}

int main(){

Rational one(2,4);

Rational two(6,8);

Rational result = one * two;

std::cout << result << std::endl;

return 0;

}

}


lybkivskyiyra: Допоможи мені, будь ласка)
Вас заинтересует