Мой вопрос немного о методах программирования или, возможно, шаблонах проектирования. Предположим, что несколько классов, производных от base, содержат чистый виртуальный метод, который должен выполнять некоторые взаимодействия между ними.
Например, Rectangle
, Ellipse
, Triangle
и Линия
- все производные от формы
. И этот абстрактный класс, Shape
, содержит virtual bool Intersects (Shape * another) = 0
.
Кажется, мне нужно сделать шесть реализаций, верно ( кстати, есть ли лучшее решение в этом конкретном примере?).
Я не знаю других примеров в данный момент.
Может быть, я говорю о том, что хорошо известно, и я почти уверен есть несколько имен, описывающих эту технику. Однако я даже не знаю, что ввести, чтобы найти это в Интернете.
Что ж, не могли бы вы рассказать мне, как реализовать такую вещь (мне все еще интересно, нужен ли какой-нибудь вспомогательный метод, или, может быть, RTII
dynamic_cast
?) Или указать какие-то источники (искусство, учебные пособия или что-то еще) об этом?