0

Polygon と呼ばれるクラスと、Triangle と呼ばれるサブクラス (それが正しい用語である場合) があります。Triangleにはcircumcenter()という関数があります。ポリゴンにはそのような機能はありません。

ポリゴンのベクトルがあります。これらの多角形の 1 つ (三角形であることがわかっている)、外心関数を呼び出したいと思います。Polygons[0].circumcenter() を呼び出すと、「クラス Polygon には 'circumcenter' という名前のメンバーがありません」というエラーが表示されます。これは、Polygon が三角形であることをプログラムが認識していないためだと思います。

これに対する回避策はありますか?

4

1 に答える 1

1

ほとんどの言語では、適切な型にキャストできます。例: Java

if (polygons[0] instanceof Triangle) {
    Triangle triangle = (Triangle)polygons[0];
    triangle.circumcenter();
}
于 2013-07-25T03:22:42.397 に答える