14.11.16
Классы, объекты, конструкторы.
1. Рациональная (несократимая) дробь представляется парой целых чисел (a,b), где a ? числитель, b ? знаменатель. Создать класс Rational для работы с рациональными дробями. Реализовать конструкторы: копирования и инициализации, а также методы:
• сложение add, (a,b) + (c,d) = (ad+bc,bd);
• умножение mul, (a,b) * (c,d) = (ac, bd);
• деление div, (a,b)/(c,d) = (ad,bc);
• сравнение equal, greater, less;
• вывод print.
Реализовать приватную функцию сокращения дроби reduce, которая обязательно вызывается при выполнении арифметических операций.
2. Описать класс, с именем TRAIN, содержащий следующие поля:
• название пункта назначения;
• номер поезда;
• экспресс или нет.
Реализовать конструкторы: копирования и инициализации, а также методы:
• вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры;
• вывод на экран всех поездов экспресс, направляющихся в заданный пункт назначения.