0

いくつかのメソッドを追加するために、MinimumDiameter クラスを拡張したいと思います。私は古典的なC++構文で試しました:

class ExtendedMinimumDiameter : public MinimumDiameter{};
ExtendedMinimumDiameter *minimumDiameter = new ExtendedMinimumDiameter(inputGeometry);

問題は、新しいクラスのオブジェクトをインスタンス化しようとすると、gcc-4.8.2 が次のように文句を言うことです。

operators.cpp:194:92: error: no matching function for call to 'ExtendedMinimumDiameter::ExtendedMinimumDiameter(const geos::geom::Geometry*&)'
         ExtendedMinimumDiameter minimumDiameter = ExtendedMinimumDiameter(inputGeometry);
                                                                                        ^
operators.cpp:194:92: note: candidates are:
operators.cpp:116:7: note: ExtendedMinimumDiameter::ExtendedMinimumDiameter()
 class ExtendedMinimumDiameter : public MinimumDiameter{
       ^
operators.cpp:116:7: note:   candidate expects 0 arguments, 1 provided
operators.cpp:116:7: note: ExtendedMinimumDiameter::ExtendedMinimumDiameter(const ExtendedMinimumDiameter&)
operators.cpp:116:7: note:   no known conversion for argument 1 from 'const geos::geom::Geometry*' to 'const ExtendedMinimumDiameter&'

親コンストラクターを使用せず、代わりにパラメーターなしでデフォルトのものを使用することを提案するのはなぜですか? 私のコードには何が欠けていますか?

4

1 に答える 1