Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 2 ООП

.doc
Скачиваний:
25
Добавлен:
11.06.2015
Размер:
32.77 Кб
Скачать

Лабораторная работа №2 по курсу «Объектно-ориентированное пограммирование»

Тема работы: Наследование и полиморфизм

Цель работы: научиться строить иерархии классов и использовать виртуальные функции при разработке программного обеспечения

Порядок выполнения работы: Во всех заданиях, помимо указанных в задании операций, обязательно должны быть реализованы следующие методы:

  • метод инициализации Init();

  • ввод с клавиатуры;

  • Вывода в поток;

Варианты заданий:

  1. Создать базовый класс Фигура с виртуальными методами вычисления площади и периметра. Создать произвольные классы Прямоугольник и Трапеция со своими функциями площали и периметра.

  2. Создать абстрактный класс Solid (тело) c абстрактными методами вычисления площади поверхности и объема. Создайте производные классы parallelepiped и ball со своими функциями.

  3. Создать абстрактный класс для описания треугольника с виртуальными функциями вычисления площади и периметра.Пеализовать производные классы равнобедренный, равносторонний, прямоугольный.

  4. Создать базовый класс Number с виртуальными арифметическими операциями и операциями вывода на экран. Определить проихводные классы Decimal и Binary реализующие собственные операции. Число представляется массивом, каждуй элемент которого – цифра.

  5. Создать абстрактный базовый класс Series (прогрессия)с виртуальными методами вычисления j элемента прогресии и суммы k первых членов прогресии. Определить производные классы Linear (арифметическая) и Exponential (геометрическая).

  6. Создать абстрактный класс Pair, описывающий пару чисел с виртуальными арифметическими операциями. Реализовать производные классы Money и Fraction.

  7. Создать абстрактный класс Triad с виртуальными методами увеличения на 1 и сложения. Создать производные классы Date и Time.

  8. Создать абстрактный класс Pair, описывающий пару чисел с виртуальными арифметическими операциями. Реализовать производные классы Complexи Rational.

  9. Создать абстрактный класс Container с методами sort() и поэлементной обработки forEach(). Реальзовать класс Bubble в котором сортировка производится методом пузырька, а поэлементная обработка – извлечение квадратного корня, и класс Choice – сортировка методом выбора, а поэлементная обработка – поиск логарифма.

  10. Создать абстрактный класс Array с методами сложения Add() и поэлементной обработки forEach(). Реальзовать производные классы SortArray и XorArray. В первом сложение реализуется как объединение множеств, а поэлементная обрабоотка – сортировка.Во втором классе – сложение как исключающее ИЛИ, а поэлементная обработка – возведение в квадрат.

  11. Создать абстрактный класс Array с методами сложения Add() и поэлементной обработки forEach(). Реальзовать производные классы AndArray и OrArray. В первом сложение реализуется как пересечение множеств, а поэлементная обрабоотка – извлечение квадратного корня. Во втором классе – сложение как объединение, а поэлементная обработка – поиск синуса.