Приветствую. Есть тема - Справочник владельца видеотеки.
База видеофильмов: название, студия, жанр, год выпуска, режиссер, исполнители главных ролей, краткое содержание, субъективная оценка фильма. Факт присутствия фильма в видеотеке. Оформление выдачи и возвращения кассеты (это и задание уже).
Как реализовать 5 классов по этой теме (на С++, ООП)?
ООП начал изучать и уже работал с классами, наследованием, конструкторами и т.д., но вот саму логику чтобы создать именно 5 классов с виртуальным наследованием, которые будут взаимодействовать сами с собой - это пока сложно для меня.
Не нужно кода, помогите пожалуйста советом о реализации этих 5 классов.
По хорошему, тут не особо нужно наследование - разве что все фильмы могут наследоваться от одного базового класса "фильм" для того, что бы можно было хранить фильмы в массиве (лучше использовать для этого std::vector<std::unique_ptr<Film>>
для того, чтобы избежать проблем с удалением объектов, но для лаб это может быть лишним). От фильма можно унаследовать несколько классов по жанрам, но различаться они будут только значением поля "жанр", на практике так делать - плохая идея. Но, видимо, от вас требуют именно этого.
Возможно, пройдет такая идея: в базовом классе Film объявить виртуальный метод std::string getDescription()
(вернуть описание), а в потомках реализовать разный формат возвращаемого значения в зависимости от жанра (поменять местами порядок вывода полей, например).
Куда впихнуть виртуальное наследование - я даже не представляю. Его вообще не рекомендуется использовать.
Возможно тут имеется в виду использование чисто виртуального класса фильм,а от него реализовать 4 класса наследника? Как вариант,класс фильм,чисто виртуальный и содержит в себе лишь методы(чисто виртуальный деструктор),а классы наследники уже имеют поля и оверрайд методы. Ты таким методом и полиморфизм покажешь создавая объекты через указатель типа фильм,а так же и классов наплодишь.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь получить нормально цвет слова из документа, на что мне в ответ невообразимые цифры, как мне из них получить нормальные значения в HEX или...
Подскажите, как можно сделать чтобы ввод и вывод был в функции ?