Обектно-ориентирано програмиране
Втора курсова задача (домашна работа)
Номерът на курсовата задача се получава като
резултат от операцията
"остатък от целочислено деление" в С++.
Първият аргумент на операцията е факултетният номер на студента,
а вторият аргумент е числото 24 (ф.н. % 24).
Да се моделира дадения в задачата "реален" обект с
неговите
свойства като се използват класове и наследственост.
Да се създадат най-малко 2 класа, свързани с наследственост.
Двата класа трябва да съдържат виртуална функция за отпечатване
на членовете-данни.
Да се демонстрира работата на програмата с подходящи тестови примери:
- създаване и унищожаване на обекти и указатели от двата класа;
- работата на член-функциите на класовете;
- статично и динамично свързване.
За това студентът получава 3 точки.
Допълнително количество точки (още 2) могат да се получат, ако се
използват други техники на ООП като:
- създаване и използване на още един производен клас;
- използване на индиректни базови класове;
- многократна наследственост;
- предефиниране на операции в базовия и производния клас;
- функции за динамично свързване с псевдоним и указател;
- виртуални деструктори;
- защитена или частна наследственост.
[Съкращения: БК - базов клас,; ПК - производен клас]
Задачи:
0 БК - време (час, минути); ПК - метерологично време в даден момент от
времето - температура,
влажност, вятър (посока и сила), атмосферно налягане
1 БК - време (час, минути); ПК - телевизионно предаване: ден, време,
име
на предаването
2 БК - точка в равнината; ПК - квадрат със страни, успоредни на
координатните оси, зададен с център и дължина на страна
3 БК - точка в равнината; ПК - сила (посока и големина) в дадена точка
от равнината
4 БК - точка в n-мерното
пространство; ПК - n-мерна
сфера с
център в дадена точка
5 БК - равностранен триъгълник; ПК - правилна 3-ъгълна пирамида с
основа равностранен триъгълник и височина
6 БК - точка в равнината; ПК - квадрат със страни, успоредни на
координатните оси, зададен с върхът си, най-близо до координатния
център и дължина на страна
7 БК - точка в равнината; ПК - права в равнината, минаваща през дадена
точка и
зададена с ъгъл, който сключва с абсцисната ос
8 БК - окръжност в равнината; ПК - конус в пространството
9 БК - човек: име, презиме, фамилия, ЕГН; ПК - студент: човек, фак.
номер, курс, група
10 БК - име на учебна дисциплина, в кой курс се
изучава, брой часове за лекции и за упражнения; ПК - имената на
лектора и асистента
11 БК - име на работник и базова заплата; ПК - търговски работник с
базова заплата и процент от
оборота
12 БК - име на работник и почасовото му заплащане; ПК - търговски
работник с почасово заплащане и
% от оборота
13 БК - дата, час; ПК - бележка: дата, час, описание на ангажимент на
определена дата в даден час
14 БК - човек: име, презиме и фамилия и телефонен номер; ПК - приятел:
човек, е-mail
адрес, GSM, рождена дата
15 БК - свободен вектор в равнината; ПК - права в равнината, зададена с
точка и нормален вектор
16 БК - точка в равнината; ПК - вертикална отсечка, зададена със
средата си и дължината си
17 БК - време (час, минути) и дата; ПК - самолетен полет: време и дата,
заминава за, вид на самолета
18 БК - квадрат в равнината, зададен с център и дължина на страна; ПК -
правилна 4-ъгълна пирамида
19 БК - номер на GSM; ПК - абонат с даден номер на GSM: име,
фамилия, месечна такса
20 БК - правоъгълник с 2 страни, лежащи на координатните оси; ПК -
пирамида, зададена от БК и точка в пространството
21 БК - държава - име, площ, население; ПК - износ на държава: видове
стоки и количества (масив или вектор)
22 БК - точка в пространството; ПК - отсечка със среда дадена точка,
дадена дължина и която е част от права, минаваща през началото на
координатната система
23 БК - сграда: застроена площ, височина, брой етажи; ПК - жилищен
блок: брой
апартаменти на всеки етаж