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