Программирование >>  Структурное программирование 

1 ... 182 183 184 [ 185 ] 186 187 188 ... 342


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) Перегрузить операцию сложения с присваиванием (+=), операцию вычитания с присваиванием (-=), операцию умножения с присваиванием (*=).



глава

Наследование

Цели

Научиться создавать новые классы путем наследования существующих классов.

Понять, как наследование способствует повторному использованию программного обеспечения.

Понять формы записи базовых классов и производных классов.

Научиться использовать множественное наследования для порождения классов из нескольких основных классов.



1 ... 182 183 184 [ 185 ] 186 187 188 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика