我想了解派生类是否重载了基类func,(基类有int参数,der类有double参数)当我创建der类实例并用正确的参数调用func名称时,只调用der func??有人可以帮助我吗.. 代码的第 28 行有没有办法 (dd.f(d1);) ,我可以获得基类 func 调用。
这是代码。
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;
}