0

我有一个抽象形状类,它有十个具体的孩子(点、线、三角形、矩形、弧、扇形、圆形、椭圆、样条线、多边形)。我想将碰撞形状添加到我的物理引擎中,但只允许使用点、矩形和圆形。可能还有线和/或三角形,如果我能让它们工作的话。

这是否可能不使用重载方法(包括模板专业化)?

4

1 回答 1

5

在这种情况下,您需要另一个类(或其他语言的接口),例如 CollisionShape,Point、Rectangle 和 Circle 派生自/实现,而其他类则不需要。物理引擎会接受从 CollisionShape 派生的类,而不是 Shape。

于 2012-08-17T18:04:33.413 回答