私は次のものを持っています:
class Parent {
public:
virtual bool foo(vector<string> arg1, vector<string> arg2) = 0;
};
class Child : public Parent {
public:
bool foo(vector<string> arg1, vector<string> arg2);
};
// arg1 and arg2 not used - GIVES WARNING
bool Child::foo(vector<string> arg1, vector<string> arg2) {
return false;
}
foo(...) は純粋仮想関数であるため、親実装はありません。親は、foo が 2 つのベクトル引数を取ると述べています。子は 2 つの文字列引数を使用して正しく実装しますが、それらは使用されません。ただし、親の一部の子はこれらの引数を使用するため、常にそこにある必要があります。
親がそうしなければならないと言っていても、オーバーロードを使用して、指定された Child クラスの foo が引数を持たないようにする方法はありますか?
どうもありがとう。