【发布时间】:2022-01-21 12:15:11
【问题描述】:
我有 Set 类,它由动态分配的 IShape 组成,其中 IShape 由 Square、Rectangle 等继承,我需要创建过滤函数来创建仅特定类型的新集(例如 Squares)。基本上是通过现有的集合并只选择以某种方式定义的形状(通过参数?)并创建该形状的新集合。这怎么可能?
【问题讨论】:
-
在使用多态性时必须获取对象的实际类型通常表明存在设计缺陷。
-
我知道应该使用
dynamic_cast,但我不确定如何传递要过滤的形状参数。
标签: c++ inheritance polymorphism multiple-inheritance