Класс Книга
Скрытые поля:
Номер по порядку (назначается автоматически);
Название книги (генерируется случайным образом, путём компиляции заранее заготовленных слов, считанных из файла)
Количество глав (генерируется случайно в диапазоне 5-10);
Количество страниц в главе (вектор, каждая ячейка которого заполняется случайным образом);
Количество страниц в книге (вычисляется, исходя из предыдущих данных).
Публичные поля:
Статический счётчик количества экземпляров.
Скрытые методы:
Вычисление количества страниц в книге.
Публичные методы:
Конструктор (присваивает значения всем полям);
Деструктор (уменьшает статический счётчик);
Ручная смена количества глав в выбранной книге (с пересчётом количества страниц);
Вывод на экран всех полей (кроме статических);
Программа:
Создать массив экземпляров класса из 20 элементов. Затем предложить пользователю меню, позволяющее запускать публичные методы (кроме конструктора и деструктора), выводить данные на экран в таких режимах:
Вывод на экран всего списка;
Вывод на экран одного экземпляра с заданным порядковым номером;
Вывод на экран всех экземпляров с количеством страниц больше выбранного;
а также выйти из программы. Меню зациклить. После выполнения каждого пункта очищать экран. Предусмотреть максимальное количество ошибок пользователя.
Создать второй класс, который будет вести лог программы. Все его методы должны перегружать друг друга. В лог записываются такие данные: время события, номер экземпляра класса вызвавшего событие, метод вызвавший событие, входящие и исходящие данные события, успешность события. Все экземпляры основного класса должны взаимодействовать с одним, общим, экземпляром класса-логгера.
+ нужна блок схема, и презентация+теоретическая часть.