派生クラスが基本クラスの関数をオーバーロードしているかどうかを理解しようとしています (基本クラスには int パラメーターがあり、der クラスには double パラメーターがあります)。誰かがこれで私を助けることができますか..コードの28行目に方法はありますか (dd.f(d1);) 、基本クラスの関数呼び出しを取得できます。
これがコードです。
using namespace std;
class base {
public :
virtual void f (int i);
};
class der : public base{
public:
void f ( double d);
};
void base::f(int i){
cout << "Base::f \n";
}
void der::f(double d){
cout <<"Der::f \n";
}
int main(){
der dd;
int i =99;
double d1 = 3232.232;
dd.f(i); // why this calls der class func???
dd.f(d1);
base *ptr = new der();
ptr->f(i);
dynamic_cast<der *>(ptr)->f(d1);
return 0;
}