Страницы

Поиск по вопросам

среда, 12 декабря 2018 г.

Что делать с неиспользуемым методом в наследуемом классе?

Есть базовый абстрактный класс с некоторыми методами.
Эти методы используют большинство производных классов.
Но для одного типа класса функция не нужна.
Например:
const MyStruct& childClass::getMyStruct() { return что? }
У childClass не может быть члена MyStruct, чтобы его вернуть.
Всё-таки как сделать правильно? Сунуть объект, чтобы был, или есть нормальное решение?


Ответ

Измените иерархию. Абстрактный класс БЕЗ этого метода, его наследник - абстрактный класс С ним. И соответствующие наследники - от основного абстрактного класса - тот ваш производный, для которого реализация невозможна; все остальные - производные от производного абстрактного.

Комментариев нет:

Отправить комментарий