我一直在查看一些相关的线程,但仍然没有找到任何可以回答以下问题的内容。
假设我有一个形成树结构的类层次结构(例如小部件、HTML 元素)。当我遍历树或根据其 ID 查找具体元素时,我得到一个指向基类的指针(树算法只知道基类)。
然后,根据类型(基类有一个标识类型的字段),我执行 dynamic_cast 以获得指向具体类型的指针。我一直在想办法避免这种情况。我唯一想到的是访问者模式。但是不太喜欢这种模式。
是否有其他方法/模式来搜索/迭代节点并在不使用 RTTI 或访问者模式的情况下获取指向具体类的指针?