ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Задания для выполнения практической работы №11«Виртуальные функции и полиморфизм»
Вариант 1. Создать абстрактный базовый класс с виртуальной функцией - площадь. Создать производные классы: прямоугольник, круг, прямоугольный треугольник, трапеция со своими функциями площади. Для проверки определить массив ссылок на абстрактный класс, которым присваиваются адреса различных объектов. Площадь трапеции: S =(a + b) h /2 Вариант 2. Создать абстрактный класс с виртуальной функцией: норма. Создать производные классы: комплексные числа, вектор из 10 элементов, матрица (2х2). Определить функцию нормы – для комплексных чисел – модуль в квадрате, для вектора - корень квадратный из суммы элементов по модулю, для матрицы - максимальное значение по модулю. Вариант 3. Создать абстрактный класс (кривые) вычисления координаты y для некоторой x. Создать производные классы: прямая, эллипс, гипербола со своими функциями вычисления y в зависимости от входного параметра x. Уравнение прямой: y = ax + b, эллипса: x 2/ a 2+ y 2/ b 2=1, гиперболы: x 2/ a 2- y 2/ b 2=1. Вариант 4. Создать абстрактный базовый класс с виртуальной функцией – сумма прогрессии. Создать производные классы: арифметическая прогрессия и геометрическая прогрессия. Каждый класс имеет два поля типа double. Первое – первый член прогрессии, второе (double) – постоянная разность (для арифметической) и постоянное отношение (для геометрической). Определить функцию вычисления суммы, где параметром является количество элементов прогрессии. Арифметическая прогрессия aj =a0+ jd, j =0,1,2,… Сумма арифметической прогрессии: sn =(n +1)(a 0+ an)/2 Геометрическая прогрессия: aj=a0rj, j =0,1,2,… Сумма геометрической прогрессии: sn =(a 0- anr)/(1- r) Вариант 5. Создать абстрактный класс – млекопитающие. Определить производные классы – животные и люди. У животных определить производные классы собак и коров. Определить виртуальные функции описания человека, собаки и коровы. Вариант 6. Создать базовый класс – фигура, и производные класс - круг, прямоугольник, трапеция. Определить виртуальные функции площадь, периметр и вывод на печать. Вариант 7. Создать базовый класс – работник и производные классы - служащий с почасовой оплатой, служащий в штате и служащий с процентной ставкой. Определить функцию начисления зарплаты. Вариант 8. Создать абстрактный базовый класс с виртуальной функцией - площадь поверхности. Создать производные классы: параллелепипед, тетраэдр, шар со своими функциями площади поверхности. Для проверки определить массив ссылок на абстрактный класс, которым присваиваются адреса различных объектов. Площадь поверхности параллелепипеда: S=6 xy. Площадь поверхности шара: S =4 r 2. Площадь поверхности тетраэдра: S = a 2 , где a –ребро тетраэдра. Вариант 9. Создать класс человек, производные от которого девушки и молодые люди. Определить виртуальную функцию реакции человека на вновь увиденного другого человека. Вариант 10. Создать абстрактный базовый класс с виртуальной функцией - объем. Создать производные классы: параллелепипед, пирамида, тетраэдр, шар со своими функциями объема. Для проверки определить массив ссылок на абстрактный класс, которым присваиваются адреса различных объектов. Объем параллелепипеда - V = xyz (x,y,z - стороны, пирамиды: V = xyh (x,y, - стороны, h - высота), тетраэдра: V= a 3 /12, шара: V =4 r 3/3.
Не нашли, что искали? Воспользуйтесь поиском:
|