私はこのようなクラスBasicAlgoへのクラスのアルゴリズムから純粋なメソッドを実装しようとしている:実装されていない純粋な仮想メソッド
class Algorithm
{
public:
virtual void solve() = 0;
};
class BasicAlgo : public Algorithm
{
public:
void solve() { };
};
Algorithm a = BasicAlgo();
a.solve();
しかし、私はこのエラーを取得しています:
variable type 'Algorithm' is an abstract class
Algorithm a = BasicAlgo();
^
unimplemented pure virtual method 'solve' in 'Algorithm'
virtual void solve() = 0;
後ソリューションを探しているStackoverflowの多くの時間、私はまだ実際になぜエラーがあるか理解していません。私にはa.solve()
はBasicAlgo::solve
の魔女がうまく実装されています。
ありがとうございました!あなたは正しいです。私はJavaを書くことを試みていました... –
@GuillaumeWuip、よろしくです。私はあなたのJavaの知識を脇に置いて、初心者のプログラマーのようにC++にアプローチすることをお勧めします。彼らはいくつかのキーワードを共有し、どちらも "中括弧"言語ですが、それが類似点が終わるところです。彼らは全く異なるイディオムを扱う。 – StoryTeller
それは私の先生が言っていることです。時には難しいです。 C++にはこのような非常に強力な機能がたくさんあります。 –