У меня есть базовый класс "Node", который содержит список дочерних узлов. Узел определяет функцию "forEachNode", которая принимает обратный вызов в качестве параметра и вызывает его на каждом узле в иерархии.
У меня есть класс, производный от Node - "SpecialNode" (на самом деле это не имя, которое я бы выбрал - просто пример!). Узел ничего не знает о SpecialNode.
Я хочу перебрать только специальные узлы. Я дошел до того, что SpecialNode определяет обратный вызов для передачи в «forEachNode», но я не уверен, как вызвать обратный вызов только для SpecailNodes. Любой совет?