«Кратность реализации» - как с этим бороться? И как называется такая штука?

Мой вопрос немного о методах программирования или, возможно, шаблонах проектирования. Предположим, что несколько классов, производных от base, содержат чистый виртуальный метод, который должен выполнять некоторые взаимодействия между ними.

Например, Rectangle , Ellipse , Triangle и Линия - все производные от формы . И этот абстрактный класс, Shape , содержит virtual bool Intersects (Shape * another) = 0 .

Кажется, мне нужно сделать шесть реализаций, верно ( кстати, есть ли лучшее решение в этом конкретном примере?).

Я не знаю других примеров в данный момент.

Может быть, я говорю о том, что хорошо известно, и я почти уверен есть несколько имен, описывающих эту технику. Однако я даже не знаю, что ввести, чтобы найти это в Интернете.

Что ж, не могли бы вы рассказать мне, как реализовать такую ​​вещь (мне все еще интересно, нужен ли какой-нибудь вспомогательный метод, или, может быть, RTII dynamic_cast ?) Или указать какие-то источники (искусство, учебные пособия или что-то еще) об этом?

0
задан somnock 22 August 2011 в 17:12
поделиться