私はいつも基底クラスのパブリックメソッドは派生クラスによって継承されると思っていましたが、派生クラスにはその特定のメソッドの定義がないと思っていました。 「もしかして;、1きあまりにも多くの引数が関数の呼び出し、0を期待:7を、私は派生クラスで定義されていない基本クラスの関数を呼び出す方法は?
は "エラーが言ってコンパイル・エラーが発生します:たとえば
#include <iostream>
using namespace std;
class A {
public:
int f() { cout << 3; return 0;}
int f(int x) {cout << x; return 0;}
};
class B: public A {
public:
int f() {std::cout << 5; return 0;}
};
int main(){
B ob;
ob.f(7);
return 0;
}
は私がする結果を期待していましたA :: f '?
私はエラーが何を言おうとしているのか分かっていますが、基本クラスの機能が呼び出されていないことはほとんど分かりません。
を内のすべての基底クラスバージョン –
使用する仮想キーワードを隠しA – ZivS
私はリンクをstackoverflowから見つけました - http://stackoverflow.com/questions/411103/function-with-same-n問題を明解に説明する派生クラスです。 – pokche