サブクラスで仮想比較演算子をオーバーライドしようとしていますが、派生クラスが基本クラスの仮想演算子を実装していないというコンパイラ エラーが発生します。
私の派生演算子が基本クラスの引数の型を使用していないという事実に関係しているように感じます。
簡略化されたバージョンは次のようになります。
struct Base {
virtual bool operator ==(const Base) const;
};
struct Derived : Base {
bool operator ==(const Derived) const {
// implementation goes here
}
};
これを行う方法はありますか、それともDerived
実装で型チェックを行って正しい型かどうかを確認する必要がありますか?