Лабораторная работа №17

Лабораторная работа №17
Разработка алгоритмов и программ по реализации перегрузки функций
Цель: Научиться оформлять описание и вызов перегруженных функций.
Оснащение: IBM PC, Borland C++ 5.02

 

Вы не можете скачивать файлы с нашего сервера

1. Опишите класс LongNum для длинных целых чисел, каждый разряд которых представляет собой элемент массива. Опишите конструктор по умолчанию, создающий массив из одного нуля, конструктор с параметром, разбивающий параметр на разряды и записывая их массив. Опишите в классе метод show() для вывода числа. Для класса опишите функцию сложения двух длинных чисел, которая заносит результат в текущий объект
void add(LongNum x);
Для обращения к полям текущего объекта используйте указатель this, например обращение к полю a текущего класса выглядит так: this->a;
Реализуйте перегрузку метода add для длинного числа и обычного целого числа, для одного объекта LongNum и добавляя к текущему, и для одного целого числа, добавляя к текущему объекту. Создайте программу, тестирующую все варианты метода add.

2. Опишите класс Matrix для квадратных матриц, каждый элемент которых представляет собой элемент двумерного массива. Опишите конструктор по умолчанию, зануляющий элементы массива, конструктор с параметром, принимающий размеры матрицы и позволяющий вводить элементы с клавиатуры. Опишите в классе метод show() для вывода матрицы. Для класса опишите функцию сложения двух матриц, которая заносит результат в текущий объект
void plus(Matrix x);
Для обращения к полям текущего объекта используйте указатель this, например обращение к полю a текущего класса выглядит так: this->a;
Реализуйте перегрузку метода add для матрицы и обычного целого числа, который добавляет число к каждому элементу массива, для одного объекта Matrix и добавляя к текущему, и для одного целого числа, добавляя к текущему объекту. Создайте программу, тестирующую все варианты метода add.

3. Опишите класс String для строк, содержащий символьное поле со строкой, опишите конструктор по умолчанию, задающий пустую строку, конструктор с параметром, задающий строку, равной параметру. Опишите в классе метод show() для вывода строки на экран. Для класса опишите функцию объединения двух строк, которая заносит результат в текущий объект
void con(String x);
Для обращения к полям текущего объекта используйте указатель this, например обращение к полю a текущего класса выглядит так: this->a;
Реализуйте перегрузку метода con для строки и символа, который добавляет символ к строке, для одного объекта String и добавляя к текущему, и для одного символа, добавляя к текущему объекту. Создайте программу, тестирующую все варианты метода con.

4. Опишите класс Rect для прямоугольников, содержащих 4 закрытых поля x1, y1, x2, y2 – координаты двух угловых точек, опишите конструктор с параметрами, задающий размеры прямоугольника. Опишите в классе метод show() для вывода координат всех вершин прямоугольника и его площади. 2. Для класса опишите функцию сравнения площадей двух прямоугольников
bool cmp(Rect x);

Для обращения к полям текущего объекта используйте указатель this, например обращение к полю a в текущем классе выглядит так: this->a;
Реализуйте перегрузку метода cmp для прямоугольника и числа, который сравнивает площадь прямоугольника с числом, для одного объекта Rect и сравнивая с текущим, и для одного числа, сравнивая с текущим. Создайте программу, тестирующую все варианты метода cmp.



Обсудить на форуме

Комментарии к статье:

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Регистрация

Реклама

Последние комментарии