Jump to content

Задачи - ООП, Седмица 12, 09.05.2024

GitHub classroom: classroom.github.com/a/o7hNz1pr

Задача 1

Реализирайте клас Publication, който пази:

Реализирайте клас TextDocument, който пази неоразмеряем низ с текстово съдържание и неговия размер.

Реализирайте наследник на двата класа ScientificPaper, който допълнително пази и низ от максимално 511 знака, съдържащ име на научна дисциплина. За всички класове реазлизирайте оператор <<.

Задача 2

Не говорим за нея, условието беше толкова сбъркано, че се наложи да я сваля

Задача 3

Реализирайте абстрактен клас MobileDevice, който запазва:

Допълнително нека:

Реализирайте негов наследник Telephone, за който Show изкарва съобщението на екрана.

Реализирайте втори негов наследник Pager , който съхранява име на файл (като динамично-заделен низ) и Show изкарва съобщението в съответния файл. Разбира се, имплементирайте голяма петица.

Реализирайте клас TelecommunicationCompany, който съхранява динамично-заделен и оразмеряем масив от (указатели към) MobileDevice. Имплементирайте всичко от голяма петица.

Задача 4

Реализирайте клас Employee, който запазва:

Производителността е множител на заплатата, тоест ако има производителност 0.5 значи работи като човек на който му плащат с половината заплата.

Реализирайте абстрактен клас Person, който запазва:

Допълнително задължава реализацията на член-функция Workload, връщаща стойност с плаваща запетая. Разбира се имплементирайте голяма петица.

Реализирайте наследник на двата класа на име Developer, който допълнително запазва:

Реализирайте оператори ++ и --, като префиксните променят броя проекти на които ще се пуска нова версия, докато постфиксните променя броя проекти в които участва. За него Workload се определя като 1.1 по всеки проект и допълнително по 2.3 за всеки проект на който ще се пуска нова версия.

Реализирайте наследник на двата класа на име Manager, който допълнително запазва динамично-заделен и оразмеряем масив от Person, които менижира.

Имплементирайте голяма петица и:

Workload се определя като 0.6 на човек който менижира.

Финално реализирайте клас Company, който запазва масив от 128 указателя Person в компанията. Имплементирайте негова член-функция:

︽