Void main ( )

{

Music symphony ("Людвіг ван Бетховен",

"Дев’ята симфонія",

"1824",

"ля-мінор");

Painting painting ("Леонардо да Вінчі",

"Мона Ліза",

"1503",

24, 36);

Chamber opus ("Вольфганг Амадей Моцарт",

"Hoffmeister",

"1786",

"до-мажор",

4);

symphony.Display();

painting.Display();

opus.Display();

}

 

У результаті роботи програми буде згенерований такий звіт:

 

Автор : Людвіг ван Бетховен

Назва : Дев’ята симфонія

Дата : 1824

Тип : Музика

Ключ : ля-мінор

 

Автор : Леонардо да Вінчі

Заголовок : Мона Ліза

Дата : 1503

Тип : Картина

Розмір : ширина = 24, висота = 36

 

Автор : Вольфрганг Амадей Моцарт

Заголовок : Hoffmeister

Дата : 1788

Тип : Музика

Ключ : до-мажор

Інші : Камерна музика, 4 музиканта

 

 

Завдання

 

Перелік варіантів завдань:

Варіант 1

Створити базовий клас Car (машина), що характеризується торговою маркою (рядок), числом циліндрів, потужністю. Визначити методи перепризначення і зміни потужності. Створити похідний клас Lorry (вантажівка), що характеризується також вантажопідйомністю кузова. Визначити функції перепризначення марки та зміни вантажопідйомності.

Варіант 2

Створити клас Pair (пара чисел); визначити методи зміни полів і порівняння пар: пара p1 більше пари p2, якщо (first.p1 > first.p2) або (first.p1 == first.p2) та (second.p1 > second.p2). Визначити клас-спадкоємець Fraction з полями: ціла частина і дробова частина числа. Визначити повний набір методів порівняння.

Варіант 3

Створити клас Liquid (рідина), що має поля назви і щільності. Визначити методи перепризначення та зміни щільності. Створити похідний клас Alcohol (спирт), який має міцність. Визначити методи перепризначення та зміни міцності.

Варіант 4

Створити клас Pair (пара чисел); визначити методи зміни полів та обчислення добутку чисел. Визначити похідний клас Rectangle (прямокутник) з полями-сторонами. Визначити методи обчислення периметра та площі прямокутника.

Варіант 5

Створити клас Man (людина), з полями: ім'я, вік, стать і вага. Визначити методи перепризначення імені, зміни віку та зміни ваги. Створити похідний клас Student, який має поле року навчання. Визначити методи перепризначення та збільшення року навчання.

Варіант 6

Створити клас Triad (трійка чисел); визначити методи зміни полів і обчислення суми чисел. Визначити похідний клас Triangle з полями-сторонами. Визначити методи обчислення кутів та площі трикутника.

Варіант 7

Створити клас Triangle з полями-сторонами. Визначити методи зміни сторін, обчислення кутів, обчислення периметра. Створити похідний клас Equilateral (рівносторонній), який має поле площі. Визначити метод обчислення площі.

Варіант 8

Створити клас Triangle з полями-сторонами. Визначити методи зміни сторін, обчислення кутів, обчислення периметра. Створити похідний клас Rightangled (прямокутний), який має поле площі. Визначити метод обчислення площі.

Варіант 9

Створити клас Pair (пара чисел); визначити методи зміни полів і обчислення добутку чисел. Визначити похідний клас Rightangled з полями-катетами. Визначити методи обчислення гіпотенузи та площі трикутника.

Варіант 10

Створити клас Triad (трійка чисел); визначити метод порівняння тріад. Визначити похідний клас Date з полями: рік, місяць і день. Визначити повний набір методів порівняння дат.

Варіант 11

Створити клас Triad (трійка чисел); визначити метод порівняння тріад. Визначити похідний клас Time з полями: година, хвилина і секунда. Визначити повний набір методів порівняння моментів часу.

Варіант 12

Реалізувати клас-оболонку Number для числового типу float. Реалізувати методи додавання та ділення. Створити похідний клас Real, в якому реалізувати метод піднесення до довільного ступеня, і метод для обчислення логарифму числа.

Варіант 13

Створити клас Triad (трійка чисел); визначити методи збільшення полів на 1. Визначити похідний клас Date з полями: рік, місяць і день. Перевизначити методи збільшення полів на 1 і визначити метод збільшення дати на n днів.

 

Варіант 14

Реалізувати клас-оболонку Number для числового типу double. Реалізувати методи множення та віднімання. Створити похідний клас Real, в якому реалізувати метод, що обчислює корінь довільного ступеня, і метод для обчислення числа π в даному ступені.

Варіант 15

Створити клас Triad (трійка чисел); визначити методи збільшення полів на 1. Визначити похідний клас Time з полями: година, хвилина, секунда. Перевизначити методи збільшення полів на 1 і визначити методи збільшення на n секунд і хвилин.

Варіант 16

Створити базовий клас Pair (пара цілих чисел) з операціями перевірки на рівність і перемножування полів. Реалізувати операцію віднімання пар по формулі (а, b) – (c, d) = (а – b, c – d). Створити похідний клас Rational; визначити нові операції додавання (а, b) + (c, d) = (ad + bc, bd) і ділення (а, b)/(c, d) = (ad, bc); перевизначити операцію віднімання (а, b) – (c, d) = (ad – bc, bd).

Варіант 17

Створити клас Pair (пара чисел); визначити метод перемножування полів і операцію додавання пар (а, b) + (c, d) = (а + b, c + d). Визначити похідний клас Complex з полями: дійсна і уявна частини числа. Визначити методи множення (а, b) x (c, d) = (ас – bd, ad + bc) і віднімання (а, b) – (c, d) = (а – b, c – d).

Варіант 18

Створити клас Pair (пара цілих чисел); визначити методи зміни полів і операцію додавання пар (а, b) + (c, d) = (а + b, c + d). Визначити клас-спадкоємець Long з полями: старша частина числа і молодша частина числа. Перевизначити операцію додавання та визначити методи множення і віднімання.

Варіант 19

Створити клас Triad (трійка чисел) з операціями складання з числом, множення на число, перевірки на рівність. Створити похідний клас vector3d, що задається трійкою координат. Мають бути реалізовані: операція додавання векторів, скалярний добуток векторів.

Варіант 20

Створити клас Pair (пара цілих чисел); визначити метод множення на число і операцію додавання пар (а, b) + (c, d) = (а + b, c + d). Визначити клас-спадкоємець Money з полями: гривни і копійки. Перевизначити операцію додавання та визначити методи віднімання і ділення грошових сум.

 

 


РОЗДІЛ 4. ПОЛІМОРФІЗМ

 

4.1. Віртуальні функції

 

Поліморфізм – це властивість коду С++ поводитися по-різному, у залежності від ситуації, що виникає в момент виконання.

Поліморфізм реалізується за допомогою віртуальних функцій.

 








Дата добавления: 2014-12-26; просмотров: 1338;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.