Семинар 3. Задание 3. Виртуальные функции. Вариант 1.




Формат входных данных.
Ввод: Создать два объекта базового класса, введя их размерность и характеристики,
затем создать два объекта производного класса Fraction, введя их размерность каждой части и характеристики,
после этого создать два объекта производного класса BitString, введя их размерность и характеристики. Затем
выполнять действия, предписанные командами ввода:
1- изменить элемент с
указанным номером первого объекта базового класса;
2- изменить элемент с
указанным номером второго объекта базового класса;
3- изменить первый объект
производного класса Fraction;
4- изменить второй объект
производного класса Fraction;
5- изменить первый объект
производного класса BitString;
6- изменить второй объект
производного класса BitString;
0 - выход.
Вывод: После создания объекта, либо изменения его параметров,
выводить сведения об объекте Array(элементы
первого массива, элементы второго массива, поэлементная сумма), либо Fraction (первое
число, второе число, x1+x2, x1-x2, x1*x2, x1/x2), либо BitString (первое
число, второе число, x1 and x2, x1 or x2, x1 xor x2, not x1, not x2).
Пример входных данных:
4 10 24 3 4 1 203 2 724
9 4 5 6 7 8 8 6 2 1 2 5 6
9 3 2 1 3 2 8 4 1 7 8
8 1 1 1 1 0 0 1 1 0 0 1 0 1 0
1 1
1 3 94
2 2 120
3 2 3 3 2 1 4 8 2 1 6 4
4 1 1 2 2 2 3 3 2 1 9 3
5 1 1 0 0 0 1 1 1
6 1 1 1 1 1 1 0 0
0
Пример выходных данных:
Array1 10 24 3 4 Array2 1 203 2 724
Array1+Array2 11
227 5 728
Fraction1 126887654.56 Fraction2 148231239.78
Fraction1+Fraction2
275118894.34
Fraction1-Fraction2
-21343585.22
Fraction1*Fraction2
18808714348205172.3968
Fraction1/Fraction2 0.8560
BitString1 11110011 BitString2 00101011
BitString1 & BitString2 00100011
BitString1 ! BitString2 11111011
BitString1 ^ BitString2 11011000
! BitString1 00001100 ! BitString2 11010100
Array1 10 24 3 94 Array2 1 203 2 724
Array1+Array2 11
227 5 818
Array1 10 24 3 94 Array2 1 203 120 724
Array1+Array2 11
227 123 818
Fraction1 128412332.64 Fraction2 148231239.78
Fraction1+Fraction2
276643572.42
Fraction1-Fraction2
-19818907.14
Fraction1*Fraction2
19034719270268960.4192
Fraction1/Fraction2 0.8662
Fraction1 128412332.64 Fraction2 123322211.93
Fraction1+Fraction2
251734544.57
Fraction1-Fraction2
5090120.71
Fraction1*Fraction2
15836092900255736.3952
Fraction1/Fraction2 1.0413
BitString1 11000111 BitString2 00101011
BitString1 & BitString2 00000011
BitString1 ! BitString2 11101111
BitString1 ^ BitString2 11101100
! BitString1 00111000 ! BitString2 11010100
BitString1 11000111 BitString2 11111100
BitString1 & BitString2 11000100
BitString1 ! BitString2 11111111
BitString1 ^ BitString2 00111011
! BitString1 00111000 ! BitString2 00000011