C ++コンパイルエラー:抽象クラスタイプの無効な新しい式
C Compilation Error
ソースコード:
クラスBreadthFirstTraversal:public GraphTraversal
{{
................。
}
m_pTraversal = new BreadthFirstTraversal(this)
エラーの原因:このエラーの理由は、サブクラスオブジェクトクラスでエラーが発生したことです。これは、親クラス(インターフェイス)に純粋仮想関数がないことを示しています。新しいサブクラスを作成できるように、インターフェース内のすべての純粋仮想関数をサブクラスに実装する必要があります。
例えば:
void fun()= 0などの純粋仮想関数は純粋仮想関数であり、純粋仮想関数は必要ありません。
さらに、void fun(){空の関数本体も実装されています。
= 0は、関数が抽象メソッドであることを示します。継承する必要があるのは、関数を実装する必要があるためです。 それ以外の場合は、新しいものにすることはできません。 |