Создание 5 классов для 1 темы ООП

258
23 сентября 2017, 23:36

Приветствую. Есть тема - Справочник владельца видеотеки.

База видеофильмов: название, студия, жанр, год выпуска, режиссер, исполнители главных ролей, краткое содержание, субъективная оценка фильма. Факт присутствия фильма в видеотеке. Оформление выдачи и возвращения кассеты (это и задание уже).

Как реализовать 5 классов по этой теме (на С++, ООП)?

ООП начал изучать и уже работал с классами, наследованием, конструкторами и т.д., но вот саму логику чтобы создать именно 5 классов с виртуальным наследованием, которые будут взаимодействовать сами с собой - это пока сложно для меня.

Не нужно кода, помогите пожалуйста советом о реализации этих 5 классов.

Answer 1

По хорошему, тут не особо нужно наследование - разве что все фильмы могут наследоваться от одного базового класса "фильм" для того, что бы можно было хранить фильмы в массиве (лучше использовать для этого std::vector<std::unique_ptr<Film>> для того, чтобы избежать проблем с удалением объектов, но для лаб это может быть лишним). От фильма можно унаследовать несколько классов по жанрам, но различаться они будут только значением поля "жанр", на практике так делать - плохая идея. Но, видимо, от вас требуют именно этого.

Возможно, пройдет такая идея: в базовом классе Film объявить виртуальный метод std::string getDescription() (вернуть описание), а в потомках реализовать разный формат возвращаемого значения в зависимости от жанра (поменять местами порядок вывода полей, например).

Куда впихнуть виртуальное наследование - я даже не представляю. Его вообще не рекомендуется использовать.

Answer 2

Возможно тут имеется в виду использование чисто виртуального класса фильм,а от него реализовать 4 класса наследника? Как вариант,класс фильм,чисто виртуальный и содержит в себе лишь методы(чисто виртуальный деструктор),а классы наследники уже имеют поля и оверрайд методы. Ты таким методом и полиморфизм покажешь создавая объекты через указатель типа фильм,а так же и классов наплодишь.

READ ALSO
Получение цвета слова COM MS Word

Получение цвета слова COM MS Word

Пытаюсь получить нормально цвет слова из документа, на что мне в ответ невообразимые цифры, как мне из них получить нормальные значения в HEX или...

288
Использование move семантики [дубликат]

Использование move семантики [дубликат]

На данный вопрос уже ответили:

281
Подскажите, как можно сделать чтобы ввод и вывод был в функции ?

Подскажите, как можно сделать чтобы ввод и вывод был в функции ?

Подскажите, как можно сделать чтобы ввод и вывод был в функции ?

240
Динамические массивы с++

Динамические массивы с++

Ребят помогите пожалуйстаВот задача

247