|
Программирование >> Структурное программирование
II FIGS 8.CPP Проверка драйвера класса Hugeint #include <iostream.h> #include hugeintl.h main{) { Hugeint nl(7654321), n2(7891234), n3( 99999999999999999999999999999 ), n4 ( 1 ), n5; cout nl равен nl endl << n2 равен п2 << endl << пЗ равен пЗ endl п4 равен п4 endl п5 равен п5 endl endl; п5 = nl + п2; cout nl + п2 = п5 endl endl; cout пЗ + п4 endl = (пЗ + п4) endl endl; % п5 = nl + 9; cout << nl + 9 = п5 endl << endl; п5 = п2 + 10000 ; cout п2 + 10000 = п5 endl endl; return 0; nl равен 7654321 п2 равен 7891234 пЗ равен 99999999999999999999999999999 п4 равен 1 п5 равен О !* 7654321 + 7891234 = 15545555 99999999999999999999999999999 + -1 = 100000000000000000000000000000 7654321 + 9 = 7654330 7891234 + 10000 = 7901234 if (i == 30) output 0; else for ( ; i <= 2 9; i++) output << num.integer[ i ]; return output; Рис. 8.8. Определенный пользователем класс больших целых (часть 3 из 4) 8.17 Создайте класс rationalNumber (дроби) со следующими возможностями: a) Создайте конструктор, который предотвращает равенство нулю знаменателя дроби, сокращает или упрощает дроби, если они не в сокращенной форме, и исключает отрицательные знаменатели. b) Перегрузите операции сложения, вычитания, умножения и деления для этого класса. c) Перегрузите операции отношения и проверки на равенство для этого класса. 8.18 Изучите функции библиотеки обработки строк С и реализуйте каждую из этих функций как часть класса String. Используйте затем эти функции для выполнения операций с текстами. 8.19 Разработайте класс Polinomials (полиномы). Внутренним представлением класса Polinomials является массив членов полинома. Каждый член содержит коэффициент и показатель степени. Член имеет коэффициент 2 и показатель степени 4. Разработайте полный класс, содержащий соответствующие функции конструктора, деструктора, а также функции set и get. Класс должен обеспечивать путем использования перегруженных операций следующие возможности: a) Перегрузить операцию сложения (-I-), чтобы складывать два объекта класса Polinomials. b) Перегрузить операцию вычитания (-), чтобы вычитать два объекта класса Polinomials. c) Перегрузить операцию присваивания (=), чтобы присваивать один объект класса Polinomial другому. d) Перегрузить операцию умножения (*), чтобы перемножать два объекта класса Polinomials. e) Перегрузить операцию сложения с присваиванием (+=), операцию вычитания с присваиванием (-=), операцию умножения с присваиванием (*=). глава Наследование Цели Научиться создавать новые классы путем наследования существующих классов. Понять, как наследование способствует повторному использованию программного обеспечения. Понять формы записи базовых классов и производных классов. Научиться использовать множественное наследования для порождения классов из нескольких основных классов.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |