Несколько заданий по Visual C++

Максим20 років у сервісі
Дані замовника будуть вам доступні після подання заявки
05.04.2007

Задание 1. Тема: инкапсуляция, перегрузка операции как пример полиморфизма, наследование.

1.1. Создать класс "Точка" на координатной плоскости. Данные класса - координаты точки по осям. Конструкторы класса: конструктор по умолчанию (начало координат), конструктор точки, лежащей на оси Ох, и конструктор произвольной точки. Методы класса: ввод точки, вывод на экран, определение радиус-вектора

точки и определение угла наклона к оси Ох. Проверять особые точки.

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

1.2. Перегрузить операции сложения, вычитания для точек с использованием метода класса и дружественной

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

1.3. Наследуемым классом для точки объявить класс "Траектория", имеющий метод "Draw", описывающий

движение точки по прямой между точкой начала и конца траектории. Определить конструктор траектории.

Вывести данные на экран с использованием метода базового класса.

Задание 2. Тема: перегруженные операции для классов.

Разработать и иллюстрировать применение класса "Рациональная дробь" со следующими перегруженными операциями:

"+" - сложение дробей,

"-" - вычитание дробей,

"*" - умножение дробей,

"/" - деление дробей,

"=" - присваивание дробей,

"= =" - проверка равенства,

"++" - выделение целой части.

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

Задание 3. Тема: Множественное наследование. Иерархия и контейнерные классы. Виртуальные базовые классы.

Часть 1. Создать иерархию типов файл для чтения, файл для записи и файл для чтения и записи. Классы должны иметь конструкторы с параметрами и перегруженные функции вывода в поток и ввода из потока.

Часть 2. Создать иерархию типов, описывающую файл, файл для чтения, файл для записи и файл для чтения и записи. Использовать виртуальный базовый класс.

Задание 4. Тема: Виртуальные функции.

Создать абстрактный класс "кривые" для вычисления координаты у(х). Создать производные классы: прямая, эллипс, гипербола со своими функциями вычисления у в зависимости от входного параметра х. Уравнение прямой: у=а*х+Ь , эллипса: х2/а2+у2/Ь2= 1, гиперболы: х2/а2-у2/Ь2= 1

Задание 5. Тема: Шаблоны классов.

Разработать и иллюстрировать применение шаблона класса Массив из N элементов для целого, вещественного и символьного типов данных, использующего следующие методы:Ввод значений, Печать значений, Упорядочение элементов массива, Вставка элемента в массив с сохранением упорядоченности. Выполнять контроль выхода индекса за границы массива.

Заявки фрілансерів