0

10個の具体的な子(ポイント、ライン、トライアングル、レクタングル、アーク、セクター、サークル、楕円、スプライン、ポリゴン)を持つAbstractShapeクラスがあります。物理エンジンに衝突形状を追加したいのですが、Point、Rectangle、Circleの使用のみを許可しています。私がそれらを機能させることができれば、おそらくラインおよび/またはトライアングルも。

これは、オーバーロードされたメソッド(テンプレートの特殊化を含む)を使用せずに可能ですか?

4

1 に答える 1

5

この状況では、別のクラス(または他の言語ではインターフェイス)が必要です。たとえば、CollisionShapeは、Point、Rectangle、Circleが派生/実装しますが、他のクラスはそうではありません。そして、Shapeの代わりに物理エンジンが受け入れるのはCollisionShapeから派生したクラスです。

于 2012-08-17T18:04:33.413 に答える