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