Домашнее задание №8

Доделайте проект «Книжный магазин» классной работы, включая дополнительные задачи.

Проект «Компания»

  1. Создайте класс worker, имеющий следующие поля:

    • имя,
    • зарплата (salary),
    • должность (job).

    Определите конструктор с инициализацией этих полей из параметров (используйте списки инициализации).

    Для каждого поля напишите функции-члены для чтения и записи, при этом используйте конвенции именования из классной работы: имена полей начинаются с нижнего подчёркивания, имена функций доступа без этого символа и перегружены.

  2. Создайте класс department, моделирующий отдел компании. В этом классе определите поля для названия отдела и вектора объектов класса worker. Реализуйте следующие функции-члены:

    • += — добавляет в массив сотрудников нового сотрудника;
    • get_number_of_workers — возвращает текущее количество сотрудников;
    • get_average_salary — вычисляет среднюю зарплату сотрудников данного отдела; используйте C++11-цикл for по контейнеру.
  3. Добавьте операции вывода в поток для созданных классов.

  4. Напишите основную программу с демонстрацией использования классов worker и department.