Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1.99 Mб
Скачать

Задания для самостоятельного выполнения

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторные функции * и *= (умножение и составное присваивание), которые обеспечивают создание из двух строк третьей строки, содержащей общие символы первой и второй строки без их дублирования.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторные функции + и += (сложение и составное присваивание), которые должны обеспечивать конкатенацию двух строк.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторные функции ++ и –- (инкремент и декремент, соответственно), которые должны обеспечивать увеличение/уменьшение на единицу значение каждого символа строки.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторные функции - и -= (вычитание и составное присваивание), которые должны обеспечивать исключение из первой строки тех символов, которые имеются одновременно во второй строке.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторные функции, возвращающие логические значения: >, < и ==, которые должны обеспечивать соответствующие операции сравнения двух строк. Более короткая строка дополняется пробелами.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторную функцию << (сдвиг влево), которая обеспечивает удаление с начала строки символов, количество которых определяется правым операндом операции.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторную функцию >> (сдвиг вправо), которая обеспечивает удаление с конца строки символов, количество которых определяется правым операндом операции.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторную функцию ! (логическое отрицание), которая должна обеспечивать инвертирование строки.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторную функцию + (унарный плюс), которая упорядочивает строку по возрастанию.

  1. Разработать класс String для работы со строками. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Кроме этого перегрузить операторную функцию - (унарный минус), которая упорядочивает строку по убыванию.

  2. Создать класс Circle для работы с плоскими окружностями. В качестве члена данного задается длина радиуса окружности. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Дополнительно перегрузить для элементов этого класса операторные функции для двух операций ~ (побитовое отрицание) и ! (логическое отрицание), возвращающие длину окружности и площадь круга, соответственно.

  1. Разработать класс Rectangle для работы с плоскими прямоугольниками, стороны которого параллельны осям координат. В качестве членов-данных задать координаты двух точек прямоугольника (левую верхнюю точку и нижнюю правую). Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить операторную функцию для операции ! (логическое отрицание), которая возвращает площадь вписанного в исходный прямоугольник серединного четырехугольника (четырехугольника, получаемого в результате последовательного соединения середин сторон исходного прямоугольника).

  1. Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются координаты трех вершин треугольника. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), которая определяет принадлежность точки с заданными координатами треугольнику.

  1. Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Дополнительно перегрузить операторную функцию для операции ! (логическое отрицание), которая возвращает длины всех высот треугольника.

  1. Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Дополнительно перегрузить операторную функцию для операции ! (логическое отрицание), которая возвращает длины всех биссектрис треугольника.

  1. Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса, а также операторную функцию присваивания. Дополнительно перегрузить операторную функцию для операции ! (логическое отрицание), которая возвращает длины всех медиан треугольника.

  1. Разработать класс Line для работы с объектами типа отрезок. Члены-данные этого класса определяют координаты концов отрезка на плоскости. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить операторную функцию для операции !, определяющую длину отрезка.

  1. Разработать класс Line для работы с объектами типа отрезок. Члены-данные этого класса определяют координаты концов отрезка на плоскости. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), определяющую параллельность двух отрезков.

  1. Разработать класс Line для работы с объектами типа отрезок. Члены-данные этого класса определяют координаты концов отрезка на плоскости. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), определяющую перпендикулярность двух отрезков.

  1. Создать класс Circle для работы с плоскими окружностями. В качестве члена данного задается длина радиуса окружности. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить операторную функцию для операции | (побитовая дизъюнкция), возвращающую центральный угол для хорды, длина которой вводится с клавиатуры.

  1. Разработать класс Line для работы с объектами типа отрезок. Члены-данные этого класса определяют координаты концов отрезка на плоскости. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить операторную функцию для операции ! (логическое отрицание), возвращающую координаты середины заданного отрезка.

  2. Разработать класс Polygon для работы с правильными замкнутыми многоугольниками. Члены-данные этого класса определяют число сторон многоугольника и длину стороны. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Кроме того перегрузить операцию ! (логическое отрицание), которая возвращает площадь многоугольника.

  1. Разработать класс Sphere для работы с шаром. Единственный член-данное этого класса определяет радиус шара. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Кроме этого перегрузить для элементов этого класса две операции ~ (побитовое отрицание) и ! (логическое отрицание), возвращающие площадь шаровой поверхности и объем шара, соответственно.

  1. Разработать класс Cylinder для работы с цилиндром. Члены-данные этого класса определяют радиус основания цилиндра и высоту цилиндра. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить для элементов этого класса две операции ~ (побитовое отрицание) и ! (логическое отрицание), возвращающие площадь полной поверхности и объем цилиндра, соответственно.

  2. Разработать класс Cone для работы с конусом. Члены-данные этого класса определяют радиус основания конуса и высоту конуса. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить для элементов этого класса две операции ~ (побитовое отрицание) и ! (логическое отрицание), возвращающие площадь полной поверхности и объем конуса, соответственно.

  1. Разработать класс Pyramid для работы с правильной пирамидой. Члены-данные этого класса определяют число сторон основания пирамиды, длину одной стороны и высоту пирамиды. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить для элементов этого класса две операции ~ (побитовое отрицание) и ! (логическое отрицание), возвращающие площадь полной поверхности и объем пирамиды, соответственно.

  1. Разработать класс Prizm для работы с правильной призмой. Члены-данные этого класса определяют число сторон основания призмы, длину одной стороны и высоту призмы. Класс должен содержать основной конструктор и конструктор копирования. Перегрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса. Дополнительно перегрузить для элементов этого класса две операции ~ (побитовое отрицание) и ! (логическое отрицание), возвращающие площадь полной поверхности и объем призмы, соответственно.